오랑우탄의 반란

프로그래머스 | 문자열 나누기 (파이썬) 본문

PYTHON/프로그래머스

프로그래머스 | 문자열 나누기 (파이썬)

5&2 2024. 8. 14. 11:47
반응형

 

오늘도 오랑이는 문제를 풉니다.

 

문자열 나누기

 

풀이 과정

  • s의 각 글자 i iterate 해서 첫 문자 x와 같은지 비교
    • 같으면 same +=1
    • 다르면 diff +=1
  • same = diff 이면 answer += 1, same&diff 값 초기화, x=i

우선 answer, same, diff 를 모두 0으로 설정해두고 시작합니다.

처음에는 answer 와 same 을 1로 두고 시작했었는데, 이럴 경우 첫 번째 x에 대해 중복으로 same이 카운트되기 때문에 틀립니다. 

또한 반복문 내에서 처음에는 same==diff 조건을 i==x 이후에 뒀는데 이렇게 되면 초기화가 제대로 이루어지지 않기 때문에 순서를 아래와 같이 해야 합니다. 

for i in s:
    if same == diff:
        answer +=1
        same = diff = 0
        x=i   

    if i==x:
        same+=1
    else: 
        diff+=1

 

 

최종 코드

def solution(s):
    answer = 0
    same = diff = 0
    
    for i in s:
        if same == diff:
            answer +=1
            same = diff = 0 # 초기화
            x=i   
            
        if i==x:
            same+=1
        else: 
            diff+=1

    return answer

 

 

 

오랑우탄이 영어를 하고 오랑이가 코드마스터가 되는 그날까지~

 

 

 

 

프로그래머스

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

programmers.co.kr

 

반응형