[Python] 백준 1620

eun·2024년 1월 11일

1620 문제

먼저 위 문제를 이해해보자.
첫째 줄에는 n개의 포켓몬 이름의 개수와, m개의 문제 개수가 주어진다. 이후 n개의 줄에 포켓몬 이름이 주어지고, m개의 줄에 문제가 주어진다.
만약 문제가 알파벳이라면 해당 포켓몬 이름의 순서를 출력하고, 숫자가 문제라면 해당 숫자의 포켓몬 이름을 출력하는 문제이다.

# 1620

import sys

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

for i in range(1, n+1):
    name = sys.stdin.readline().rstrip()
    name_lst[i] = name
    arr_lst[name] = i
    
    

for j in range(m):
    q = sys.stdin.readline().rstrip()
    if q.isdigit():
        print(name_lst[int(q)])
    else:
        print(arr_lst[q])

처음에는 list로 문제를 풀어보려 했지만 계속 시간초과가 나왔다.
이후 딕셔너리로 문제를 해결하였다.
포켓몬 이름과 각 순서를 각각의 딕셔너리로 만들어서 출력하였다.

0개의 댓글