반응형
코드
n = list(map(int,(input())))
start = n[0]
cnt = [0]*2
cnt[start] += 1
for i in range(1,len(n)):
if n[i] != start:
start = n[i]
cnt[start] += 1
print(min(cnt))
설명
0의 연속된 묶음과 1의 연속된 묶음이 각각 몇 번씩 나오는지 cnt를 이용하여 확인했다. 더 적게 나오는 수를 뒤집는 것이 행동의 최대 횟수이다.
반응형
'알고리즘 > 그리디' 카테고리의 다른 글
[백준][Python] 1339번 단어 수학 (0) | 2022.10.27 |
---|---|
[백준][Python] 11256번 사탕 (1) | 2022.09.20 |
[백준][Python] 1715번 카드 정렬하기 (0) | 2022.05.04 |
[백준][Python] 13975번 파일 합치기 3 (0) | 2022.05.03 |
[백준][Python] 2812번 크게 만들기 (0) | 2022.05.02 |
댓글