티스토리 뷰
https://school.programmers.co.kr/learn/courses/30/lessons/140108
1. 접근 방식
- 문자열이 분리되고나서 다시 x를 정하는 방법
처음에 x를 '-'로 초기화한 후, x == '-'일 때 특정 문자를 x로 설정한다. 이러면, 나중에 문자열이 분리될 때 x를 다시 '-'로 초기화함으로써 새로 시작하는 문자열의 첫 글자로 x로 설정할 수 있다.
- 만약 두 횟수가 다른 상태이지만, 더 이상 읽을 글자가 없을 때를 파악하기 위해 left 변수를 사용하자.
문자열을 순회하면서 left에 문자를 누적한다. 그러다가 문자열을 분리하게 될 때 left를 빈 문자열로 초기화한다.
따라서 문자열을 모두 순회하고나서 left가 빈 문자열이 아니라면, 두 횟수가 다르지만 더 이상 읽을 글자가 없어서 순회가 종료된 것이므로 기존 answer 값에 + 1을 한다.
2. 정답 코드
def solution(s):
answer = 0
x = '-'
left = ''
for e in s:
left += e
if x == '-':
x = e
count = 1
others = 0
elif e == x:
count += 1
else:
others += 1
if count == others:
answer += 1
x = '-'
left = ''
return answer if not left else answer + 1
728x90
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 신규 아이디 추천 파이썬 정답 코드 (0) | 2023.06.13 |
---|---|
[프로그래머스] 크레인 인형뽑기 게임 파이썬 정답 코드 (0) | 2023.06.13 |
[프로그래머스: 코딩테스트 연습 힌트 모음집] 체육복 파이썬 정답 코드 (0) | 2022.11.16 |
[프로그래머스: 코딩테스트 연습 힌트 모음집] 문자열 다루기 기본 파이썬 정답 코드 (0) | 2022.11.14 |
[프로그래머스: 코딩테스트 연습 힌트 모음집] 피보나치 수 파이썬 정답 코드 (0) | 2022.11.14 |