카테고리 없음
[프로그래머스 Programmers][Python] 짝지어 제거하기
puff
2020. 4. 1. 18:59
문제 : https://programmers.co.kr/learn/courses/30/lessons/12973
괄호 문제랑 비슷한 문제로 스택을 쓰면 해결된다.
string s의 처음부터 차례차례 스택에 넣으며 맨 위쪽과 현재 문자가 같으면 스택에서 하나를 제거한다.
아니면 그 문자를 스택에 넣는다.
처음이거나 중간에 다 지워지거나 했을 경우를 대비하여 len(st)==0 스택이 비었으면 무조건 문자 하나를 넣고 본다.
스택의 길이가 0이면 완전히 지워진 상태이므로 return 1 , 아니면 return 0을 한다.
def solution(s):
st = []
for i in range(len(s)):
if len(st) == 0:
st.append(s[i])
continue
if st[-1] == s[i]:
st.pop()
else:
st.append(s[i])
if len(st) == 0:
return 1
else:
return 0