본문 바로가기
코딩테스트 문제풀이/beakjoon

[백준] 1439 뒤집기

by merona99 2021. 4. 4.
반응형

[백준] 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))

 


[통과]

 

// 그리디

 

반응형

댓글