🐸 문제 정보
🤖 알고리즘
그리디
⏱️ 풀이 시간
08.05m
📝 풀이
직전 문제와 같이, 간단한 그리디 문제였다.
처음에 문제 이해를 잘못해서 약간의 시간이 더 소요되었다.
- 스택을 통해 연속된 0 또는 연속된 1의 개수를 파악한다
- 연속된 수의 개수가 더 작은 수의 개수를 출력한다.
🧑💻 나의 답
# pypy3
import sys
input = sys.stdin.readline
nums = [0, 0]
stack = []
for le in list(map(int, list(input().rstrip()))):
if stack and stack[-1] != le:
nums[stack[-1]] += 1
stack = [le]
else:
stack.append(le)
if stack:
nums[stack[-1]] += 1
print(min(nums))
'PS > 문제풀이' 카테고리의 다른 글
프로그래머스 SQL 오프라인/온라인 판매 데이터 통합하기 (0) | 2024.01.04 |
---|---|
프로그래머스 SQL 서울에 위치한 식당 목록 출력하기 (1) | 2024.01.04 |
백준 2847 게임을 만든 동준이 Python (1) | 2024.01.04 |
백준 20055 컨베이어 벨트 위의 로봇 Python (1) | 2024.01.04 |
백준 14940 쉬운 최단거리 Python (2) | 2024.01.04 |