def solution(s):
answer = -1
stack = []
for i in range(len(s)):
if len(stack) == 0:
stack.append(s[i])
else:
if stack[-1] == s[i]:
stack.pop()
else:
stack.append(s[i])
if stack:
answer = 0
else:
answer = 1
return answer
stack을 활용 한 풀이.
stack과 현재 순회하는 값을 비교 한 후 stack의 마지막 원소와 순회하는 원소가 같으면 stack을 pop 해준다.
같지 않다면 stack에 순회하는 원소를 append
순회가 끝났을 때, stack이 비어있다면 1, 비어있지 않다면 0
'Programmers' 카테고리의 다른 글
[프로그래머스 / 파이썬 풀이] 이진 변환 반복하기 (0) | 2023.02.14 |
---|---|
[프로그래머스 / 파이썬 풀이] 멀리 뛰기 (0) | 2023.02.14 |
[프로그래머스 / 파이썬 풀이] 구명보트 (0) | 2023.02.13 |
[프로그래머스 / 파이썬 풀이] 다음 큰 숫자 (0) | 2023.02.10 |
[프로그래머스 / 파이썬 풀이] 피보나치 수 (0) | 2023.02.10 |