백준 17219번 비밀번호 찾기 –

문제

2019 HEPC-MAVEN 리그”비밀번호 만들기“비밀번호를 똑같이 만든 경민이가 문제를 발견했다. 암호는 무작위로 생성되어 기억할 수 없습니다! 그래서 경민은 사이트 주소와 비밀번호를 메모장에 저장하기로 했다. 메모장의 검색 기능을 사용할 수 없었던 경민은 사이트 주소와 비밀번호를 직접 눈으로 찾아냈고, 메모장에 저장되는 사이트가 늘어남에 따라 경민은 비밀번호 찾기를 완료하기까지 너무 많은 시간을 들여 비밀번호 프로그램을 찾았다. 경민을 위한 메모장!

기입

첫 번째 줄은 저장된 사이트 주소의 수 N(1 ≤ N ≤ 100,000)과 암호를 찾아야 하는 사이트 주소의 수 M(1 ≤ M ≤ 100,000)을 지정합니다.

두 번째 줄부터 N줄까지는 사이트 주소와 비밀번호를 공백으로 구분하여 각 줄에 입력합니다. 사이트 주소는 소문자, 대문자, 하이픈(‘-‘), 마침표(‘.’)로 구성되며 중복되지 않습니다. 비밀번호는 대문자로만 구성됩니다. 모두 최대 20자입니다.

N+2행부터 M행까지 비밀번호 찾기 사이트 주소를 한 줄씩 입력한다. 이때 이미 저장된 위치 주소를 입력해야 합니다.

누르다

첫 줄부터 M줄까지 비밀번호를 찾고자 하는 사이트 주소의 비밀번호가 각 줄에 차례로 출력됩니다.

샘플 입력 1

16 4
noj.am IU
acmicpc.net UAENA
startlink.io THEKINGOD
google.com ZEZE
nate.com VOICEMAIL
naver.com REDQUEEN
daum.net MODERNTIMES
utube.com BLACKOUT
zum.com LASTFANTASY
dreamwiz.com RAINDROP
hanyang.ac.kr SOMEDAY
dhlottery.co.kr BOO
duksoo.hs.kr HAVANA
hanyang-u.ms.kr OBLIVIATE
yd.es.kr LOVEATTACK
mcc.hanyang.ac.kr ADREAMER
startlink.io
acmicpc.net
noj.am
mcc.hanyang.ac.kr

예제 출력 1

THEKINGOD
UAENA
IU
ADREAMER

위의 문제는 해시맵 사용법을 아느냐고 묻는 흔한 문제였습니다.

응답 코드는 다음과 같습니다.

import sys

N,M = map(int,input().split())
dic = {}
ans = ()
for _ in range(N):
    v = sys.stdin.readline().strip().split()
    dic(v(0)) = v(1)


for i in range(M):
    v = sys.stdin.readline().strip()
    ans.append(dic(v))

for pw in ans:
    print(pw)