첫번째 코드
문제를 열심히 읽어봐야 한다!!! (이전에 어떻게 이해했는지 기억이 안나지만 한두번 읽다가 엥 뭐야? 했었다...ㅎ;)
현재의 문자를 now로 설정한 뒤 현재의 문자의 개수(now_count)와 다른 문자의 개수(diff_count)를 센다.
now_count와 diff_count의 개수가 같아지는 경우, 문자를 끊으므로 answer에 1을 더한 후, now_count, diff_count, now를 초기화한다.
만약 끝까지 진행된 경우 now_count에 숫자가 들어있는 경우, 해당 문자열끼리 잘라 종료하므로 answer에 1을 더한다.
최종 답안인 answer를 보인다.
def solution(s):
answer = 0
now_count = 0
diff_count = 0
now = s[0]
for i in range(len(s)):
if now == s[i]:
now_count += 1
else:
diff_count += 1
if now_count == diff_count:
answer += 1
now_count = 0
diff_count = 0
if i < (len(s) - 1):
now = s[i+1]
if now_count != 0:
answer += 1
return answer
통과!
디버깅을 python 프로그램을 통해 확인하지 않고 직접 눈으로 읽어가며 오류를 확인하고 수정하는 모습이 아주 뿌듯..ㅎ;
쉬운 문제 푼거지만.. 이제 언능 알고리즘 들고 와야징..
링크