728x90
반응형
문제 내용 생략....(문제를 푸는데 아무 쓸모 없는 긴 글...)
풀이
이 문제는 포켓몬의 이름과 번호를 저장하고 이름이 주어지면 번호를, 번호가 주어지면 이름을 출력해야한다.
번호는 이름이 입력된 순서이므로 처음엔 리스트에 인덱스0번째에 dump값을 넣고 채웠다.
이 후 이름이 주어지면 list.index로 번호를 출력했지만 시간복잡도가 O(N)이라 시간초과가 발생했다.
그래서 딕셔너리에 키 값을 이름:번호, 번호:이름 으로 저장하고 이름이든 번호든 딕셔너리 키값에 넣고 출력했다.
sys.stdin.readline을 사용하면 문자열뒤에 \n이 붙어있기 때문에 rstrip을 해주어야 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import sys
input=sys.stdin.readline
n,m=map(int,input().split())
pokemon={}
for i in range(n):
name=input().rstrip()
pokemon[str(i+1)]=name
pokemon[name]=str(i+1)
for i in range(m):
q=input().rstrip()
print(pokemon[q])
|
cs |
728x90
반응형
'Python3 > 백준 알고리즘' 카테고리의 다른 글
2022.02.26 [백준] (python 파이썬) 집합 (0) | 2022.02.26 |
---|---|
2022.02.26 [백준] (python 파이썬) 듣보잡 (0) | 2022.02.26 |
2022.02.25 [백준] (python 파이썬) 마인크래프트 (0) | 2022.02.25 |
2022.02.25 [백준] (python 파이썬) 나무 자르기 (0) | 2022.02.25 |
2022.02.25 [백준] (python 파이썬) 프린터 큐 (0) | 2022.02.25 |
댓글