문제가 굉장히 재밌게 적혀있는 편이다.
도감을 구성할 때 list
를 사용하면, 검색하는데 시간이 너무 오래 걸리기 때문에 시간 초과가 발생하게 된다.
해시 테이블로 구성되는 dictionary
는 로 요소를 검색할 수 있기 때문에 이를 사용해야 한다.
그리고 워낙 입력받는 값이 많기 때문에 sys.stdin.readline
을 이용해서 값을 입력받아야 시간 초과가 발생하지 않는다.
import sys
input = sys.stdin.readline
N, M = map(int,input().split())
dic = {}
for i in range(N):
temp = input().strip()
dic[temp] = i+1
dic[str(i+1)] = temp
for _ in range(M):
problem = input().strip()
print(dic[problem])
처음 공부를 시작했을 때에는 dictionary
를 자주 사용해 보지 않아서, 시간 초과가 나왔을 때 어떤 걸 써야 할지 바로 떠오르지 않았다.
다양한 자료 구조를 쓸 줄 아는 것이 참 중요하게 느껴지는 순간이었다.