주니어로서의 백 걸음, 개발자로서의 한 걸음

[백준 1439] 뒤집기 파이썬 문제 풀이 본문

Python/백준 문제풀이

[백준 1439] 뒤집기 파이썬 문제 풀이

코딩하는 친구 2023. 7. 19. 23:21

문제 풀이: 해당 문제는 0에서 1이 될 때 1에서 0이 될 때 cnt를 1 더하고 2로 나누면 된다.

마지막에 cnt + 1을 해주는 이유를 예제3으로 설명하면

cnt = 1, cnt // 2 = 0이기 때문에 1을 더해줘야 한다.

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

 

다른 사람 코드

l = input()
cnt = 0
prev = '?'

for i in l:
    if i != prev:
        prev=i
        cnt += 1
print((cnt)//2)

prev는 현재 문자와 바로 이전 문자가 같은지 비교할 때 사용하는 변수로 사용한다. prev를 초기값으로 '?'를 할당하여 초기값으로 어떠한 문자도 충돌하지 않는 '?'를 사용한다.