s = input()
count0 = 0
count1 = 0
answer = 0
def check(i, s):
if i >= len(s):
return False
else:
return True
i = 0
while i < len(s):
if s[i] == '0':
count0 += 1
while s[i] == '0':
i += 1
if not check(i, s):
break
else:
count1 += 1
while s[i] == '1':
i+=1
if not check(i, s):
break
if count0 > count1:
print(count1)
else:
print(count0)
문제 요약 : 0과 1로 이루어진 문자열 s를 입력받아 뒤집어 모두 같은 숫자로 만든다. 이때 0을 뒤집으면
1, 1을 뒤집으면 0이된다. 뒤집는 최소의 숫자를 출력하라
접근 방식 : 문자열에서 연속된 숫자의 개수를 나눈다. 예를 들어 0이 연속되어있는 개수와 1이 연속되어
있는 개수를 나누고 연속된 수가 가장 낮은 수를 뒤집는다. 이를 통해 뒤집는 최소한의 수를 구한다.
댓글
댓글 쓰기