[백준 1620번][Python/파이썬] 나는야 포켓몬 마스터 이다솜

공학도 Lee·2023년 2월 8일
0

백준 문제 풀이

목록 보기
29/63

1. 문제


출처: 백준 1620번 나는야 포켓몬 마스터 이다솜

문제가 굉장히 재밌게 적혀있는 편이다.

2. 풀이


도감을 구성할 때 list를 사용하면, 검색하는데 시간이 너무 오래 걸리기 때문에 시간 초과가 발생하게 된다.

해시 테이블로 구성되는 dictionaryO(1)O(1)로 요소를 검색할 수 있기 때문에 이를 사용해야 한다.

그리고 워낙 입력받는 값이 많기 때문에 sys.stdin.readline을 이용해서 값을 입력받아야 시간 초과가 발생하지 않는다.

3. 소스코드


import sys
input = sys.stdin.readline

N, M = map(int,input().split())

dic = {}
for i in range(N):
    temp = input().strip()
    dic[temp] = i+1
    dic[str(i+1)] = temp
    
for _ in range(M):
    problem = input().strip()
    print(dic[problem])

4. 그 외


처음 공부를 시작했을 때에는 dictionary를 자주 사용해 보지 않아서, 시간 초과가 나왔을 때 어떤 걸 써야 할지 바로 떠오르지 않았다.

다양한 자료 구조를 쓸 줄 아는 것이 참 중요하게 느껴지는 순간이었다.

profile
이창민, Changmin Lee

0개의 댓글