[스택]
스택은 다음과 같은 2가지 주요연산을 지원하는 요소의 컬렉션으로 사용되는 추상 자료형이다.
push():요소를 컬렉션에 추가한다.
pop():아직 제거되지 않은 가장 최근에 삽입된 요소를 제거한다.
Last in First Out 방식이다.
연결리스트를 이용해서 실제로 스택을 한번 구현해보자.
class Node:
def __init__(self, item, nex):
self.item = item
self.next = next
class Stack:
def __init__(self):
self.last = None
def push(self, item):
self.last = Node(item, self.last)
def pop(self):
item = self.last.item
self.last = self.last.next
return item
1)[유효한 괄호]-하, 스택
괄호로 된 입력값이 올바른지 판별하라.
https://leetcode.com/problems/valid-parentheses/
2)[중복 문자 제거]-상, 스택
중복된 문자를 제외하고 사전식 순서로 나열하라.
https://leetcode.com/problems/remove-duplicate-letters/
3)[일일 온도]-중, 스택
매일의 화씨 온도(하) 리스트 T를 입력 받아서, 더 따뜻한 날씨를 위해서는 며칠을 더 기다려야 하는지를 출력하라.