본문 바로가기
코딩테스트 연습/백준 Boj

[백준] 나는야 포켓몬 마스터 이다솜 1620번 (Python)

by Lagooni 2022. 1. 6.

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

 

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

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

www.acmicpc.net

문제가 길어 링크로 대체합니다. (스토리가 알차다....😅)

풀이방법

입력과 출력만 읽으면 풀 수 있다.

파이썬의 hash자료형은 Dict가 있다.

N개의 입력된 포켓몬을 모두 도감 리스트에 넣는다. (이후 key, value로 변환)

도감 번호가 입력되면 포켓몬이름 출력, 포켓몬이름이 입력되면 도감 번호 출력 (isalpha를 사용하여 영문일때와 아닐때를 구분하였다.)

import sys

input = sys.stdin.readline

#도감에 입력된 포켓몬 개수 N, 맞춰야하는 문제의 수 M
N, M = map(int, input().rstrip().split())

pList = []
for i in range(N):
    pList.append(input().rstrip())

rev_pDict = dict(enumerate(pList, start=1))
pDict = dict(map(reversed, enumerate(pList, start=1)))

for i in range(M):
    poketmon = input().rstrip()
    if poketmon.isalpha():
        value = pDict[poketmon]
        print(value)
    else:
        value = rev_pDict[int(poketmon)]
        print(value)

댓글