import sys
n, m = map(int, sys.stdin.readline().split())
pokemon = {}
reversed_pokemon = {}
for i in range(n):
new_pokemon = sys.stdin.readline().rstrip()
pokemon[i+1] = new_pokemon
reversed_pokemon[new_pokemon] = (i+1)
for _ in range(m):
search = sys.stdin.readline().rstrip()
if search.isdigit():
print(pokemon.get(int(search)))
else:
print(reversed_pokemon.get(search))
코드 설명
key값이 숫자이고 value값이 포켓몬 이름인 딕셔너리 pokemon
과 key값과 value값이 반대로 저장되어 있는 딕셔너리 reversed_pokemon
을 선언한다. for문을 n번 반복하여 두 개의 딕셔너리에 값을 입력한다.
답을 구해야하는 m개의 문제에 대해 입력된 값이 숫자일 경우(search.isdigit() == True
일 경우) pokemon
딕셔너리에서 해당 숫자에 매칭되어있는 포켓몬 이름을 출력한다. 입력된 값이 문자일 경우에는 reversed_pokemon
딕셔너리에서 해당 포켓몬에 매칭되어있는 번호를 출력한다