[이코테] 문자열 뒤집기

조유솔·2024년 7월 16일
0
post-thumbnail

나의 풀이

s = input()

# 문자열에서 1이랑 0의 경계의 수를 찾아야 함
cnt = 0 
for i in range(len(s)):
    if (s[i:i+2] == '10') or (s[i:i+2] == '01'):
        cnt += 1 

print(cnt//2+cnt%2)    




어떻게 풀었나

1→ 0, 0→ 1이 되는 경계에 주목




시행착오

큰 개선사항은 아니지만 임의로 테스트 케이스들을 만들어보니
경계가 7, 5, 3일 때는 답이 4, 3, 2
경계가 6, 4, 2일 때는 답이 3, 2, 1 - 대충 이런 규칙이 있었다.
처음 다뤄보는 케이스라 2로 나누고 1을 더하는 식으로 코드를 짰는데,
다른 사람 코드를 보니, 1을 먼저 더한 뒤 2로 나누는 게 통상적인 듯 하다.

0개의 댓글

관련 채용 정보