반응형
실버 3에 40분을 태워?
자료구조는 너무 어렵다. 배워야 할게 산더미다.
스택과 딕셔너리를 통해 해결했다.
딕셔너리를 통해 스택에 그 값이 있는지 체크하고, pop을통해 출력한다.
열받는점은 k개 출력할려고 했는데 k보다 작은 값을 출력할 때의 테스트 케이스가 들어가있어서 런타임 에러가 뜬다는 것이다.
#https://www.acmicpc.net/problem/13414
import sys
input=sys.stdin.readline
d=[]
stack=[]
check={}
k,l=map(int, input().split())
now=0
for _ in range(l):
n=input().rstrip()
d.append(n)
while d:
tmp=d.pop()
if check.get(tmp)!=1:
stack.append(tmp)
check[tmp]=1
if len(stack)<k:
for _ in range(len(stack)):
print(stack.pop())
else:
for _ in range(k):
print(stack.pop())
반응형