Algorithm/프로그래머스

[python] 프로그래머스 Lv 1 - 문자열 나누기

떵호 2023. 10. 6. 16:14
728x90

🔗 문제 링크

 

프로그래머스

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

programmers.co.kr

📁 분류

구현

💡 풀이

주어진 규칙에 따라 문자열을 나누어서 나누어진 문자열의 개수를 반환하면 되는 문제이지만, 규칙을 이해하기가 매우 어려웠다.

주어진 규칙을 설명하자면 다음과 같다.

  1. 문자를 하나씩 추가한다.
  2. 추가되는 문자열에서 첫 문자의 개수와 나머지 개수를 구한다.
  3. 첫 문자의 개수와 나머지 개수가 같다면 문자열을 초기화한다.
  4. 1, 3 과정을 추가할 문자가 없을 때까지 반복한다.

💻 코드

def solution(s):
    answer = 0
    word = ''
    for i, ch in enumerate(s):
        word += ch
        count = word.count(word[0])
        other_count = len(word) - count

        if count == other_count:
            word = ''
            answer += 1

    return answer if len(word) == 0 else answer + 1
728x90