백준 1620 포켓몬스터 파이썬

2021. 9. 25. 16:18

문제에 서론에 쓸데없는 내용 때문에 스크롤 내리느라 짜증나고 귀찮았음. 이런게 재밌나?

 

계속 시간초과나서 결국 질문글 읽다가 아래 글을 보았다. 나도 이렇게 깔끔하게 정리해야하는데...

https://jennnn.tistory.com/34

 

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

🚩 자료구조, 문자열, 해시를 이용한 집합과 맵 1. 시간초과 (fail) 문제보자마자 바로 enumerate으로 index랑 value 출력했는데 시간초과가 났다. N, M = map(int, input().split()) lst = [input() for _ in ran..

jennnn.tistory.com

아무튼 핵심은 2개의 딕셔너리를 사용한다는 점.

 

왜 한개도 아니고 두개냐면 {숫자:이름} 형식으로 저장할텐데 딕셔너리는 value로 key를 찾을 수 없기 때문에

퀴즈를 순회하며 그 안에서 이름이 나왔을 경우 key를 찾는 또 하나의 순회가 필요해 2중 for문이 나옴.

그런데 N,M의 최대값은 10만이기 때문에 시간초과가 계속 난다.

킹받네

그래서 {이름:숫자} 형식의 딕셔너리가 또 필요하다.

 

문제가 숫자인 경우를 판별하기 위해서는 포켓몬 이름의 첫 글자가 대문자라고 했으므로 quiz[0].isupper()로 분기하였다.

rstrip 안하면 '/n'이 계속 들어간다.

 

BELATED ARTICLES

more