문제풀이/BOJ
[Python] BOJ/백준 1439번 뒤집기
서채리
2022. 9. 4. 19:08
[문제]
https://www.acmicpc.net/problem/1439
[풀이]
- 입력받은 문자열을 한 글자씩 리스트에 넣는다.
- 첫 번째 문자가 0이면 zero_count를 1 더해주고, 1이면 one_count를 1 더해준다.
zero_count: 0을 1로 바꿔야 하는 횟수 one_count: 1을 0으로 바꿔야 하는 횟수 - 반복문으로 문자열의 (i - 1) 인덱스와 (i) 인덱스의 값이 일치하는지 확인한다.
- 일치하지 않을 경우 (i) 인덱스의 값이 0이면 zero_count에 1을 더하고 1이라면 one_count에 1을 더한다.
- zero_count와 one_count 중 더 작은 수를 출력한다.
[코드]
import sys
S = list(sys.stdin.readline()[:-1])
zero_count, one_count = 0, 0
if S[0] == '0':
zero_count += 1
else:
one_count += 1
for i in range(1, len(S)):
if S[i-1] != S[i]:
if S[i] == '0':
zero_count += 1
else:
one_count += 1
print(min(zero_count, one_count))