
a,b = map(int, input().split())
my_list = []
answer = []
answer1 = []
for i in range(a+b):
k = input()
if i<a:
my_list.append(k)
else:
answer.append(k)
for i in range(len(answer)):
if answer[i].isdigit():
answer[i] = int(answer[i])-1
answer1.append(my_list[answer[i]])
else:
if answer[i] in my_list:
index = my_list.index(answer[i])
answer1.append(index+1)
for i in range(len(answer1)):
print(answer1[i])
for문을 통해 문제를 푸니 시관초과가 나왔다.
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
dict = {}
for i in range(1, n + 1):
a = input().rstrip()
dict[i] = a
dict[a] = i
for i in range(m):
quest = input().rstrip()
if quest.isdigit():
print(dict[int(quest)])
else:
print(dict[quest])
딕셔너리를 사용하여 문제를 풀면 런타임 에러는 해결된다
배운점:백준에는 시간복잡도를 신경써야하는 문제가 많은것 같다. 이제부터는 알고리즘이나,시간복잡도에 대해는 공부를 해야할 필요성을 느꼈다
'코딩테스트' 카테고리의 다른 글
백준 최대힙 11279 (0) | 2024.08.09 |
---|---|
백준 9012 스택 PYTHON (0) | 2024.08.08 |
프로그래머스 과일 장수 PYTHON (0) | 2024.07.31 |
프로그래머스 기사단원의 무기 PYTHON (0) | 2024.07.30 |
프로그래머스 소수찾기 PYTHON (0) | 2024.07.29 |