import sys
input = sys.stdin.readline
N, M = map(int, input().split())
answer1 = {}
answer2 = {}
for i in range(1, N+1):
val = input().strip()
answer1[i] = val
answer2[val] = i
for _ in range(M):
val = input().strip()
if val.isdigit():
print(answer1[int(val)])
else:
print(answer2[val])
두 개의 dict를 사용하여 풀었다.
하나는 키값을 숫자로, 하나를 키값을 문자로 두었다.
[다른 사람의 풀이]
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
pkmn = [] # 포켓몬 이름을 저장할 list
pkmn_dic = {} # 포켓몬 이름에 따른 번호를 저장할 dictionary
for i in range(n) :
pk = input().rstrip()
pkmn.append(pk)
pkmn_dic[pk] = i + 1
for _ in range(m):
query = input().rstrip()
# query가 숫자이면 list에서 조회 후 출력
if query.isdigit() :
print(pkmn[int(query)-1])
# query가 문자열이면 dictionary에서 조회 후 출력
else :
print(pkmn_dic[query])