문제 설명
오늘은 문제 설명이 문제랑 관련없이 엄청 길어서 입/출력만 보고 풀었습니다.
그렇게 해도 전혀 관계없음..
아이디어
숫자, 문자로 각각 N(1)로 꺼내야 한다고 생각했습니다.
제약에 메모리가 25MB이고, 중복저장한다고 해도 최대 경계값은 4MB정도 였기 때문에 충분하다고 생각했습니다.
그래서 dictionary에 이름과 숫자를 키로 각각 중복 저장하고 출력했습니다.
제출 코드
# https://www.acmicpc.net/problem/1620
# 이름, 번호를 각각 키로 딕셔너리에 중복 저장해서 질문마다 꺼낸다.
import sys
n, m = map(int, sys.stdin.readline().split())
poke_dic = {}
for i in range(n):
poke_name = sys.stdin.readline().split()[0]
poke_dic[str(i + 1)] = poke_name
poke_dic[poke_name] = str(i + 1)
for d in range(m):
question = sys.stdin.readline().split()[0]
print(poke_dic.get(question))
'Study > Algorithms' 카테고리의 다른 글
백준 1003: 피보나치 함수 (4) | 2024.07.22 |
---|---|
백준 1966 프린터 큐 (Python) (0) | 2024.07.18 |
백준 1676: 팩토리얼 0의 개수 (0) | 2024.06.10 |
백준 2292: 벌집 (Python) (0) | 2024.06.09 |
백준 2231번: 분해합 (Python) (0) | 2024.06.08 |