9시 24분
프로그래머스 - 짝지어 제거하기 본문
https://programmers.co.kr/learn/courses/30/lessons/12973
코딩테스트 연습 - 짝지어 제거하기
짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙
programmers.co.kr
def solution(s):
answer = -1
stack = [0]
for i in range(len(s)):
top = stack[-1]
if(top == s[i]):
stack.pop()
else:
stack.append(s[i])
stack.remove(0)
if not stack:
answer = 1
else:
answer = 0
return answer
스택을 활용하여 문제를 풀었다.
파이썬에서는 스택 관련 라이브러리가 특별히 없고, 기본 자료형인 리스트를 사용하여 스택을 구현한다.
- 삽입과 삭제 - append, pop 이용
- top - stack[-1]
- if not list를 사용하여 스택이 비었는지 확인
참고
'알고리즘' 카테고리의 다른 글
백준 1003번: 피보나치 함수 (0) | 2022.01.07 |
---|---|
백준 1463번: 1로 만들기 (0) | 2022.01.07 |
최대공약수를 구하는 3가지 방법 (0) | 2021.06.25 |
DFS/BFS (0) | 2021.06.25 |
구현 (0) | 2021.06.21 |