열렬히.뛰기

1620번: 나는야 포켓몬 마스터 이다솜

알고리즘: 실전 > 백준 단계별로 풀기: 10번 ~ 25번 > 1620번: 나는야 포켓몬 마스터 이다솜

문제

첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어진다.

둘째 줄부터 N개의 줄에 포켓몬의 번호가 한 줄에 하나씩 입력으로 들어온다.

포켓몬의 이름

  • 모두 영어로만 이루어져있다.
  • 첫 글자만 대문자이고, 나머지 문자는 소문자로만 이루어져 있다.
  • 일부 포켓몬은 마지막 문자만 대문자일 수도 있어.
  • 포켓몬 이름의 최대 길이는 20, 최소 길이는 2야.

그 다음 줄부터 총 M개의 줄에 내가 맞춰야하는 문제가 입력으로 들어온다.

  • 문제가 알파벳으로만 들어오면 포켓몬 번호를 말해야 한다.
  • 숫자로만 들어오면, 포켓몬 번호에 해당하는 문자를 출력해야해.
  • 입력으로 들어오는 숫자는 반드시 1보다 크거나 같고, N보다 작거나 같고, 입력으로 들어오는 문자는 반드시 도감에 있는 포켓몬의 이름만 주어진다.

코드

python
""" 포켓몬 마스터 이다솜 """

n, m = map(int, input().split())
data = [input() for _ in range(n)]
num = [str(i) for i in range(1, len(data)+1)]

pokedex = dict(zip(num, data))
pokedex2 = {v:k for k,v in pokedex.items()}

aim = [input() for _ in range(m)]


for t in aim:
    if t.isdigit() == True:
        print(pokedex[t])
    else:
        print(pokedex2[t])