[백준/파이썬] 1620번 나는야 포켓몬 마스터 이다솜 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 1620번 나는야 포켓몬 마스터 이다솜
- 문제풀이 코드 GitHub 링크
- 제출 언어: Python 3
풀이
문제
포켓몬 이름과 번호가 주어질 때, 문자 질문이면 번호를, 숫자 질문이면 이름을 출력하는 문제입니다.
코드
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로 판별해
숫자 질의면 이름, 문자열 질의면 번호를 결과 배열에 모아 한 번에 출력합니다.
댓글남기기