알고리즘
1439-백준-뒤집기
easysheep
2023. 2. 13. 00:13
1. 문제 출처
https://www.acmicpc.net/problem/1439
1439번: 뒤집기
다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모
www.acmicpc.net
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)