백준 1620번 바로가기

나의 풀이

import sys

n, m = map(int, sys.stdin.readline().split())
dogam = {}
dogam2 = {}

for i in range(n):
  temp = sys.stdin.readline().rstrip()
  dogam[i+1] = temp
  dogam2[temp] = i+1

for _ in range(m):
  cur = sys.stdin.readline().rstrip()
  try:
    cur = int(cur)
    print(dogam[cur])
  except:
    name = str(cur)
    print(dogam2[name])

CODE REVIEW

  1. hash를 이용한 자료 구조 문제. (이름-숫자) (숫자-이름) 모두 구할 수 있어야하므로 dogam을 두 개 생성하는게 편리하다.