입력값이 0 또는 1밖에 없으니 0이나 1중 하나를 선택하여 split 해준다.
1을 split 했다고 가정했을 때
0011100010 -> '00', '', '000', '', '0'
이 되는데 이때 전체 숫자 수 에서 ''의 수를 카운트해서 빼주면 된다.
이때 0011100010보다 1100011101이 더 작을수가 있기에
그 경우의 수를 생각하여준다.
s = input()
s2 = ''
for i in s:
if i == '0':
s2 += '1'
else:
s2 += '0'
a = s.split('1')
b = s2.split('1')
result = min((len(a) - a.count('')), (len(b) - b.count('')))
print(result)
'백준 알고리즘 (Baekjoon Algorithm)' 카테고리의 다른 글
[파이썬] 백준 알고리즘 No.2581 소수 (0) | 2021.12.09 |
---|---|
[파이썬] 백준 알고리즘 No.1744 수 묶기 (0) | 2021.12.09 |
[파이썬] 백준 알고리즘 No.1715 카드 정렬하기 (0) | 2021.12.07 |
[파이썬] 백준 알고리즘 No.1339 단어 수학 (0) | 2021.12.06 |
[파이썬] 백준 알고리즘 No.4796 캠핑 (0) | 2021.12.06 |