개발 연습장/백준 문제풀이

[파이썬, Python] 백준 1439: 뒤집기

LooanCheong 2023. 7. 6. 10:50
반응형

문제

https://www.acmicpc.net/problem/1439

 

1439번: 뒤집기

다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모

www.acmicpc.net

코드

s = input()
cnt = 0

for i in range(len(s) - 1):
    if s[i] != s[i + 1]:
        cnt += 1
        
print((cnt + 1) // 2)

설명

어렵게 접근하려다가 아이디어가 생각이 안 나서 그냥 다른 부분을 뒤집어 보기로 생각했다.

0에서 1로 혹은 1에서 0으로 변하는 부분을 카운트해 준다.

그러고 나서 2로 나눈 몫을 출력할 건데

0 혹은 1로 변하는 부분 중 하나의 부분만 체크하면 되기 때문이다.

0101 > 3번 바뀜 > (3+1) // 2 = 2번 뒤집으면 됨
010101 > 5번 바뀜 > (5+1) // 2 = 3번 뒤집으면 됨

반응형