[파이썬] 백준 1439 : 뒤집기 (실버5)
1439번: 뒤집기
다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모
www.acmicpc.net
문제
풀이
0.방향성 생각
같은 숫자끼리 붙어있는 경우는 한 숫자로 봐도 무방하다
111111 -> 1 : 0회
1100 -> 10 : 1회
1111001 --> 101 : 1회
11001100 --> 1010 : 2회
100101 --> 10101 : 2회
1010100 -> 101010 : 3회
변화량을 체크하든지, 문자열을 치환해서 2로 나눈 몫을 구하든지 하면 된다.
전체 코드
1. 변화량 체크
s = input()
a = 0
for i in range(len(s)-1):
if s[i+1] != s[i] :
a += 1
if a%2 == 0:
print(a//2)
else :
print(a//2+1)
2. 문자열 치환
s = input()
a = s[0]
for i in range(len(s)-1):
if s[i+1] != s[i] :
a += s[i+1]
print(len(a)//2)
'Algorithm > Greedy' 카테고리의 다른 글
[파이썬] 백준 28709 : 와일드카드 괄호 문자열 (골드1) (0) | 2023.10.22 |
---|---|
[파이썬] 백준 18513 : 샘터 (골드4) (0) | 2023.10.22 |
[파이썬] 프로그래머스 : 단속카메라 (Lv.3) (0) | 2023.08.18 |
[파이썬] 프로그래머스 : 요격 시스템 (Lv.2) (0) | 2023.08.18 |
[파이썬] 프로그래머스 : 구명보트 (Lv.2) (0) | 2023.07.06 |
[파이썬] 백준 1931 : 회의실 배정 (실버1) (0) | 2023.06.06 |
[파이썬] 백준 1343 : 폴리오미노 (실버5) (0) | 2023.05.28 |
댓글