문제 설명
문제 해결
이중반복문을 이용하여 해결해볼까 고민했지만 stack의 후입선출 이용하여 문제를 해결할 수 있겠다고 판단했다.
일단 스택에 데이터는 쌓아줘야 하니 비어있을 때 데이터를 쌓을 수 있도록 조건을 정해주고
쌓인 데이터와 이번에 추가하려는 데이터를 비교하여 같다면 같은 글자이니 제거해주고
다르다면 스택에 추가해준다.
반복문을 다돌고나서 스택에 데이터가 남아있다면 작업이 실패했으므로 0 반대의 경우라면 1을 반환해주면된다.
def solve(s):
stack = []
for i in s:
if len(stack) == 0:
stack.append(i)
elif stack[-1] == i:
stack.pop()
else:
stack.append(i)
return 1 if len(stack) == 0 else 0
def solution(s):
answer = solve(s)
return answer
'Algorithm > 프로그래머스 연습 문제' 카테고리의 다른 글
프로그래머스 / 코딩 테스트 / 프린터 (0) | 2020.12.28 |
---|---|
프로그래머스 / 코딩 테스트 / 괄호 변환 (0) | 2020.12.28 |
프로그래머스 / 코딩 테스트 / 위장 (1) | 2020.12.27 |
프로그래머스 / 코딩 테스트 / 주식가격 (0) | 2020.12.26 |
프로그래머스 / 코딩 테스트 / 숫자의 표현 (0) | 2020.12.26 |