🔻PS/Programmers

[Programmers] 프로그래머스 문자열 나누기 Python

_니지 2024. 9. 4. 15:15

https://school.programmers.co.kr/learn/courses/30/lessons/140108

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

from collections import defaultdict

def solution(s):

    answer = 0
    
    # 문자열의 길이가 1보다 큰 경우에만 while문 실시 
    while len(s) > 1:
        x = s[0]
        x_count = 0
        else_count = 0
        
        for i, e in enumerate(s):
            if e == x:
                x_count += 1
            else:
                else_count += 1
            
            if x_count == else_count:
                answer += 1
                s = s[i+1:]    
                break
                
        # x의 개수가 더 커진 경우엔 이후 연산 불가 -> 이전 연산했던 값에 +1하고 바로 리턴
        if x_count > else_count:
            return answer + 1
                
    # 문자열의 길이가 1이 된 경우엔 마지막에 한 글자만 남은 것으로 +1만 해주면 됨
    if len(s) == 1:
        answer += 1
    
    return answer
728x90
반응형