[백준 1439 파이썬] 뒤집기

일단 해볼게·2022년 11월 1일
0

백준

목록 보기
43/132

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

s = input()

cnt = 0 
for i in range(len(s)-1): # for문에서  i와 i+1의 요소를 비교할 것이기 때문에 len(s)-1로 해줘야한다.
    if s[i] != s[i+1]:
        cnt += 1

print((cnt+1)//2)

입력받은 string을 for문을 돌려서 0 -> 1 or 1 -> 0 이렇게 바뀔 때만 count += 1 을 해준다. count는 변화했던 횟수를 담고 있고 매번 변화할 때마다 다솜이는 바꿀 필요가 없다. 0 또는 1 둘 중 하나로만 바꾸면 되기 때문에 //2 나누기 2만 해주면 된다. (count + 1) //2 +1 을 하는 이유는

입력받은 string -> 변화 횟수 -> 뒤집어야할 횟수

0 -> 0 -> 0

01 -> 1 -> 1

010 -> 2 -> 1

0101 -> 3 -> 2

01010 -> 4 -> 2

010101 -> 5 -> 3

요렇게 보면 변화 횟수(count)에 + 1을 하고 몫만 가져오면 뒤집어야할 횟수가 나온다.

profile
시도하고 More Do하는 백엔드 개발자입니다.

0개의 댓글