백준, 나는야 포켓몬 마스터 이다솜,1620

2024. 8. 20. 23:04ETC/Algorithm

[유형]

자료구조

 

[문제링크]

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

 

[요약]

포켓몬의 이름이 N개 주어지며, 이후 M개의 줄에 숫자 또는 포켓몬 이름이 주어진다.

숫자를 입력 받았다면 포켓몬의 이름을, 포켓몬의 이름을 입력받았다면 번호를 출력하는 프로그램을 작성하시오.

 

[문제풀이]

두개의 딕셔너리를 생성한다. 한개는 '번호-포켓몬이름', 나머지 한개는 '포켓몬 이름-번호'

입력된 데이터(question)에 따라서 각각의 딕셔너리를 사용한다.

import sys
def input():
    return sys.stdin.readline().rstrip()

by_id = {}
by_name = {}

n,p = map(int,input().split())

for i in range(1,n+1):
    pokemon = input()
    by_id[i] = pokemon
    by_name[pokemon] = i

for _ in range(p):
    question = input()
    if question.isalpha():
        print(by_name[question])
    else:
        print(by_id[int(question)])

'ETC > Algorithm' 카테고리의 다른 글

백준, 최소 힙, 1927  (0) 2024.08.22
백준, 생태학, 4358  (0) 2024.08.20
백준,문자열집합,14425  (0) 2024.08.20
백준, 외계인의 기타 연주, 2841  (0) 2024.08.19
백준, AC, 5430  (0) 2024.08.14