반응형
문제
https://www.acmicpc.net/problem/1439
1439번: 뒤집기
다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모
www.acmicpc.net
코드
s = input()
cnt = 0
for i in range(len(s) - 1):
if s[i] != s[i + 1]:
cnt += 1
print((cnt + 1) // 2)
설명
어렵게 접근하려다가 아이디어가 생각이 안 나서 그냥 다른 부분을 뒤집어 보기로 생각했다.
0에서 1로 혹은 1에서 0으로 변하는 부분을 카운트해 준다.
그러고 나서 2로 나눈 몫을 출력할 건데
0 혹은 1로 변하는 부분 중 하나의 부분만 체크하면 되기 때문이다.
0101 > 3번 바뀜 > (3+1) // 2 = 2번 뒤집으면 됨
010101 > 5번 바뀜 > (5+1) // 2 = 3번 뒤집으면 됨
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 1149: RGB거리 (0) | 2023.07.10 |
---|---|
[파이썬, Python] 백준 3986: 좋은 단어 (0) | 2023.07.07 |
[파이썬, Python] 백준 1541: 잃어버린 괄호 (0) | 2023.07.05 |
[파이썬, Python] 백준 3273: 두 수의 합 (0) | 2023.07.04 |
[파이썬, Python] 백준 2559: 수열 (0) | 2023.07.03 |