
문제 풀이
전형적인 스택 문제입니다.
원본 문자열 S를 deque로 하나씩 나눠주고, q에 S의 첫번째 요소를 넣고 S의 값이 빌 때 까지 popleft를 하며 q의 마지막에 위치한 요소와 비교를 하면 됩니다. S와 q가 동시에 비어있으면 성공, q에 값이 남아있으면 실패입니다.
풀이 코드
from collections import deque
def solution(s):
answer = 0
origin = deque(list(map(str, s))[1:])
q = [s[0]]
while origin:
target = origin.popleft()
if q:
if q[-1] == target:
q.pop()
else:
q.append(target)
else:
q.append(target)
if q:
return 0
else:
return 1반응형
'프로그래머스 - Python > Level 2' 카테고리의 다른 글
| [프로그래머스 LV.2] 구명 보트 (0) | 2026.03.29 |
|---|---|
| [프로그래머스 LV.2] 의상 (0) | 2026.02.19 |
| [프로그래머스 LV.2] 멀리 뛰기 (0) | 2026.02.09 |
| [Python LV.2] 가장 큰 수 (0) | 2026.02.05 |
| [MySQL LV.2]동명 동물 수 (0) | 2026.01.14 |