1. 문제 출처
https://www.acmicpc.net/problem/1439
2. 풀이
연속되는 0,1을 0001110011->0101다음과 같이 한자리수로 바꾸어 준다음 각각의 0과 1의 개수중 가장 작은 수를 print하면 정답이 된다.
# 데이터 받기
data = input()
def solution(S):
# 키값이 "1","0"인 dict 만들기
num_dict = {"1":0, "0":0}
# 처음 값에 따라 업데이트
num_dict.update({S[0]:1})
# 처음값을 temp에 저장
temp = S[0]
for num in S:
# 만약 값이 변한다면
if temp!=num:
# 1로 변했으면 1, 0으로 변했으면 0 키값을 가지는 value값을 1올려준다
num_dict.update({num:num_dict[num]+1})
temp = num
# 결과값 출력
print(min(num_dict["1"],num_dict["0"]))
solution(data)
'알고리즘' 카테고리의 다른 글
18406 - 백준 - 럭키스트레이트 (0) | 2023.02.15 |
---|---|
3190-백준-뱀 (1) | 2023.02.14 |
2618- 백준 - 경찰차 (0) | 2023.02.10 |
1254-백준-팰린드롬 만들기 (0) | 2023.02.09 |
9996-백준-한국이 그리울 땐 서버에 접속하지 (0) | 2023.02.08 |