나는야 포켓몬 마스터 이다솜
풀이
처음에는 리스트를 인덱스와 이름을 같이 넣어서 확인할까 하다가 그냥 딕셔너리를 사용하기로 했다.
다음처럼 풀었다.
- 이름번호, 번호이름 2개의 딕셔너리 생성. 이때 번호는 str로 저장을 했다.
- 이름을 받으면서 딕셔너리에 각각 입력
- isalpha() 함수를 이용해서 이름으로 입력받으면 이름번호에서 찾아내고, 번호로 입력받으면 번호이름에서 찾아내기
따라서 전체 코드는 아래와 같다.
# 포켓몬의 갯수 N, 맞춰야하는 문제 갯수 M
# 1<= N,M <= 100000
# 포켓몬의 이름은 모두 영어
# 포켓몬 이름의 최대 길이는 20, 최소길이는 2
import sys
N, M = map(int, sys.stdin.readline().split())
# 숫자를 입력하면 포켓몬이름이 뚝딱
pocketmon_number = {}
# 이름을 입력하면 포켓몬숫자가 뚝딱
pocketmon_name = {}
for i in range(1,N+1):
tmp = sys.stdin.readline().strip()
pocketmon_number[str(i)] = tmp
pocketmon_name[tmp] = str(i)
for j in range(M):
problem = sys.stdin.readline().strip()
if problem.isalpha():
print(pocketmon_name[problem])
else:
print(pocketmon_number[problem])
'알고리즘 > 백준' 카테고리의 다른 글
백준 실버2 1260. DFS와 BFS (python) (0) | 2024.03.03 |
---|---|
백준 실버1 1074. Z (python) (0) | 2024.03.02 |
백준 실버1 1931. 회의실 배정 (python) (0) | 2024.03.02 |
백준 실버4 11399. ATM (python) (0) | 2024.03.02 |
백준 실버4 1764. 듣보잡 (python) (0) | 2024.03.02 |