백준(1439) - 뒤집기 Python
백준(1439) - 뒤집기
문제풀이 : 그리디 알고리즘, 파이썬
해결방법
1로 만드는 경우와 0으로 만드는 경우를 구해서 둘 중 작은 값을 출력하도록 했다.
- 입력받은 수가 만약 000011100011101 이라면 중복되는 값을 제거하고 010101 와 같이 입력받는다.
- 입력받은 010101 중 0을 1로 만들경우 카운트, 1을 0으로 만들경우의 카운트를 구해서 둘중 작은 값을 출력한다.
s = input()
def make_1(ss):
res = 0
check = [s[0]]
for i in range(1, len(s)):
if check[-1] != s[i]:
check.append(s[i])
else:
continue
return check
res = make_1(s)
count_1 = 0
count_0 = 0
for r in res:
if r == '0':
count_0 += 1
else:
count_1 += 1
print(min(count_0, count_1))
댓글남기기