문제 정리

→ 첫 줄에 n과 m이 주어진다.

→ 다음줄에 n개의 사이트와 비밀번호가 저장된 문자가 입력된다.

→ 그 다음줄에 m개의 비밀번호를 찾고자하는 사이트가 문자로 입력된다.

→ 예시

Untitled

접근 방법

→ n개의 사이트들을 ‘ ‘ 띄어쓰기로 분리해 키와 값으로 저장한다.

→ m개의 사이트들에 반복문을 돌며 해당 인덱스를 참조하여 비밀번호를 출력한다.

코드 진행

→ 딱히 어려운 부분이 없어 추가 설명은 넣지 않았다.

# n = 저장된 사이트 주소의 수
# m = 찾으려는 사이트 주소의 수
n, m = map(int, input().split())

# 사이트와 비밀번호를 입력받아 리스트화 시킨다.
site_pw_li = []
for _ in range(n) :
    site_pw = input()
    site_pw_li.append(site_pw)

# 찾고자하는 사이트를 입력받아 리스트화 시킨다.
find_site_li = []
for _ in range(m) :
    find_site = input()
    find_site_li.append(find_site)

# 사이트와 비밀번호를 딕셔너리에 추가한다.
site_pw_dict = {}
for i in site_pw_li :
    site = i.split(" ")[0]
    pw = i.split(" ")[1]
    site_pw_dict[site] = pw

# for문을 돌며 딕셔너리를 참조해 비밀번호를 출력한다.
for i in find_site_li :
    print(site_pw_dict[i])

결과

→ 시간과 메모리 사용은 그렇게 좋은 편은 아닌거 같다.

Untitled