반응형
- N : 포켓몬 수 (1< N < 100000)
- M : 문제 수 (1< M < 100000)
import sys
N, M = map(int, sys.stdin.readline().rstrip().split())
dogam_name = {}
dogam_number = {}
for i in range(N):
poketmon = sys.stdin.readline().rstrip()
dogam_number[i+1] = poketmon
dogam_name[poketmon] = i+1
ans = []
for j in range(M):
prob = sys.stdin.readline().rstrip()
if prob.isnumeric():
ans.append(dogam_number[int(prob)])
else:
ans.append(dogam_name[prob])
for a in ans:
print(a)
dictionary의 key, value를 바꾸는 방법을 생각했으나, 그럴 경우 O(N^2)이므로, 시간 초과가 된다
reversed_dict = dict(map(reversed, dict.items()))
<참고>
다음과 같은 방법으로도, key를 출력할 수 있다.
for key, value in dict.items():
if case:
print(key)
반응형