백준 1620 - 나는야 포켓몬 마스터 (Python3)
코드
Pypy3 (Python3 기준 시간 초과)
n, m = map(int, input().split())
pokemon = [input() for _ in range(n)]
for i in range(m):
q = input()
if q.isdigit():
print(pokemon[int(q) - 1])
else:
print(pokemon.index(q) + 1)
Python3 정답
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
pokemon = {}
for i in range(n):
po = input().rstrip()
pokemon[i] = po
pokemon[po] = i
for i in range(m):
q = input().rstrip()
if q.isdigit():
print(pokemon[int(q) - 1])
else:
print(pokemon[q] + 1)
문제 해설
문제의 핵심 요소는 isdigit() 함수의 기능과 시간 복잡도의 개선을 위한 List 대신 Dictionary의 사용이다.
댓글남기기