개발 연습장/백준 문제풀이

[파이썬, Python] 백준 1620: 나는야 포켓몬 마스터 이다솜

LooanCheong 2023. 2. 1. 12:39
반응형

문제

 

https://www.acmicpc.net/problem/1620

 

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

첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면

www.acmicpc.net

코드

import sys
input = sys.stdin.readline

n, m = map(int, input().split())
poke_list = {}

for i in range(1, n+1):
    poke = input().rstrip()
    poke_list[i] = poke
    poke_list[poke] = i

for _ in range(m):
    q = input().rstrip()
    if q.isalpha():
        print(poke_list[q])
    else:
        print(poke_list[int(q)])

설명

문제가 꽤나 길지만 결론적으로 이름을 넣으면 도감 번호가,
도감 번호를 넣으면 이름이 나와야 하는 문제이다.

딕셔너리를 처음으로 적용해 봤던 문제였다.

반복문을 통해 입력을 받아주고,
각 반복문의 번호를(1부터 시작) 도감 번호로 지정해 준다.
이렇게 되면 도감 리스트가 완성된다.

그리고 이후에 지정된 횟수만큼 적당한 답을 출력해주어야 하는데,
isalpha()라는 함수를 이용하여 알파벳이면 도감 번호를,
그렇지 않으면 번호가 입력되었으므로 포켓몬 이름을 출력했다.

반응형