반응형
[백준] 1439 뒤집기
그리디 알고리즘 / 파이썬
[문제]
[과정]
1. 문자열의 길이만큼 반복
2. 각각 0으로 바꾸는 경우, 1로 바꾸는 경우 세기
3. 숫자가 바뀌는 경우 cnt(현재의 숫자)도 바꿔줌
4. 0으로 바꾸는 경우와 1로 바꾸는 경우 중 더 작은것을 출력
[소스코드]
# 문자열 뒤집기
s = input()
cnt_0 = 0
cnt_1 = 0
if s[0] == '0':
cnt_1 += 1
else:
cnt_0 += 1
for idx, v in enumerate(s):
if idx == 0:
cnt = v
else:
if v != cnt:
if v == '0':
cnt_1 += 1
cnt = v
else:
cnt_0 += 1
cnt = v
print(min(cnt_0, cnt_1))
[통과]
// 그리디
반응형
'코딩테스트 문제풀이 > beakjoon' 카테고리의 다른 글
[백준] 11725 트리의 부모 찾기 (0) | 2021.08.05 |
---|---|
[백준] 18352 특정 거리의 도시 찾기 (0) | 2021.07.30 |
[백준] 13305 주유소 (2) | 2021.02.10 |
[백준] 1541 잃어버린 괄호 (0) | 2021.02.10 |
[백준] 11399 ATM (0) | 2021.02.09 |
댓글