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)
'코딩테스트 연습 > 백준 Boj' 카테고리의 다른 글
[백준] 최소 힙 1927번 (Python) (2) | 2022.01.18 |
---|---|
[백준] 암벽 등반 2412번 (Python) (0) | 2022.01.15 |
[백준] 케빈 베이컨의 6단계 법칙 1389번 (Python) (0) | 2022.01.06 |
[백준] 연구소 14502번 (Python) (0) | 2022.01.01 |
[백준] 어린왕자 1004번 (Python) (0) | 2021.12.26 |
댓글