본문 바로가기
Python3/백준 알고리즘

2022.02.26 [백준] (python 파이썬) 나는야 포켓몬 마스터 이다솜

by ian's coding 2022. 2. 26.
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
반응형

댓글