카테고리 없음
[baekjoon] 백준 1620번 : 나는야 포켓몬 마스터 이다솜 (by python 파이썬)
코딩하는이씨
2022. 5. 1. 21:39
728x90
반응형
https://www.acmicpc.net/problem/1620
1620번: 나는야 포켓몬 마스터 이다솜
첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면
www.acmicpc.net
정답 code
#나는야 포켓몬 마스터 이다솜
import sys
n, m = map(int,input().split()) #n:포켓몬갯수 m:문제갯수
pocketmon = {}
key = {}
for i in range(n):
name = sys.stdin.readline().strip()
pocketmon[i] = name
key[name] = i
for _ in range(m):
q = sys.stdin.readline().strip()
if q.isdigit() == True:
print(pocketmon[int(q)-1])
else:
print(key[q]+1)
시간초과 code
n, m = map(int,input().split()) #n:포켓몬갯수 m:문제갯수
pocketmon = []
for i in range(n):
name = input()
pocketmon.append(name)
for i in range(m):
q = input()
if q in pocketmon:
print(pocketmon.index(q)+1)
else:
print(pocketmon[int(q)-1])
이번문제는 단순히 순서대로 입력된 포켓몬 이름을 매칭해 출력해주면 되는 문제였다.
처음엔 위와 같이 리스트로 구현하였는데 시간초과가 떠버렸다.
solution
리스트의 시간복잡도보다 딕셔너리가 더 작기때문에 딕셔너리로 구현하였다.
이과정에서 이름과 key값을 따로 매칭해 저장하여 원하는 답을 바로 찾게 하였다.
다만 이렇게 풀이했는데도 처음엔 오류가 있었는데 바로 입력을 받을때
.strip()을 붙이지 않아 \n이 같이 입력되어 오류가 떴다.
728x90
반응형