문제 출처 : www.acmicpc.net/problem/1620
문제 해석 : 포켓몬의 이름이 순서대로 입력되고 그 순서가 포켓몬의 번호가 된다. 그 다음 입력으로 들어오는 수 또는 이름을 토대로 매칭되는 답을 하면 되는 문제이다.
문제 풀이 : 단순하게 배열로 문제를 탐색하여 풀게 되면 시간 초과가 난다. 따라서 딕셔너리를 이용한 풀이가 가능하다.
-> 두 개의 딕셔너리를 생성해 하나는 key를 이름으로 또 다른 하나는 key를 수로 하면 간단하게 해결 할 수 있다.
풀이 코드
N, M = map(int, input().split())
name = {}
number = {}
start = 1
for _ in range(N):
n = input().strip()
name[n] = start
number[start] = n
start += 1
for _ in range(M):
problem = input().strip()
if problem.isnumeric():
print(number[int(problem)])
else:
print(name[problem])
author : donghak park
contact : donghark03@naver.com
## 문제의 저작권은 백준 알고리즘 사이트에 있습니다. 혹시 문제가 되는 부분이 있으면 연락 바랍니다.
'📊알고리즘, 문제풀이 > 📈문제풀이 (PS)' 카테고리의 다른 글
[알고리즘][Python] 백준 1697 숨바꼭질 문제 풀이 (0) | 2021.01.09 |
---|---|
[알고리즘][Python] 백준 1676 팩토리얼 0의 개수 문제 풀이 (0) | 2021.01.09 |
[알고리즘][Python] 백준 2887 행성터널 문제 풀이 (0) | 2021.01.09 |
[알고리즘][Python] 백준 1541 잃어버린 괄호 문제 풀이 (0) | 2021.01.08 |
[알고리즘][Python] 백준 1389 케빈 베이컨의 6단계 법칙 문제 풀이 (0) | 2021.01.08 |