[백준/파이썬] 1620번 나는야 포켓몬 마스터 이다솜 풀이

업데이트:



문제 정보


풀이

문제

포켓몬 이름과 번호가 주어질 때, 문자 질문이면 번호를, 숫자 질문이면 이름을 출력하는 문제입니다.

코드

import sys;read=sys.stdin.readline
n,m=map(int,read().split())
d=t=dict()
for i in range(1,n+1):
    d[i]=read()
    t[d[i]]=str(i)
r=[]
for i in range(m):
    s=read()
    try:
        s=int(s)
        r.append(d[s][:-1])
    except:r.append(t[s])
print('\n'.join(r))

설명

번호와 이름을 해시 기반으로 매핑해 질의를 빠르게 처리합니다.

코드는 숫자로 변환 가능한 입력인지 try/except로 판별해 숫자 질의면 이름, 문자열 질의면 번호를 결과 배열에 모아 한 번에 출력합니다.



댓글남기기