[BOJ] #1439 - 뒤집기
2021. 6. 25. 13:22ㆍProblem Solving/Online Judge
1439번: 뒤집기
다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모
www.acmicpc.net
** 문제 유형
- 그리디
** 풀이
- 문자열에 있는 숫자를 모두 0 또는 모두 1로 만들어야 함
- 문자열의 길이는 100만 이하이므로, 시간 복잡도는 O(N)에 해결해야 함
data = input()
states = [0] * 2 # states[0-1]: 0-1이 연속으로 오는 집합 수
states[int(data[0])] += 1
for i in range(1, len(data)):
if data[i] != data[i - 1]: # 0과 1이 바뀔 때
states[int(data[i])] += 1
print(min(states))
'Problem Solving > Online Judge' 카테고리의 다른 글
[BOJ] #1092 - 배 (0) | 2021.06.25 |
---|---|
[BOJ] #2012 - 등수 매기기 (0) | 2021.06.25 |
[BOJ] #5585 - 거스름돈 (0) | 2021.06.25 |
[BOJ] #11053 - 가장 긴 증가하는 부분 수열 (0) | 2021.06.22 |
[BOJ] #12865 - 평범한 배낭 (0) | 2021.06.22 |