728x90
[문제]
https://www.acmicpc.net/problem/1620
1620번: 나는야 포켓몬 마스터 이다솜
첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면
www.acmicpc.net
[코드]
아이디어: key를 숫자로 입력받고, key와 value가 반전된 딕셔너리를 만들어주어 key로 value를 찾아 출력해준다.
- 딕셔너리를 두 개를 만드므로 메모리가 두 배로 소모된다.
import sys
input = sys.stdin.readline
n, m = map(int,input().split())
po = {}
for i in range(1,n+1):
po[str(i)] = input().strip()
po_rev = {v:k for k, v in po.items()}
for i in range(m):
q = input().strip()
if q.isdigit():
print(po.get(q))
else:
print(po_rev.get(q))
[배운점]
input().strip()
- 문자열 및 공백 제거
- 선행과 후행 문자가 제거된 문자열의 복사본을 반환
>> 입력 시 개행문자(\n)을 제거 해줌으로써 정확한 입력값이 딕셔너리에 들어감
딕셔너리명.items()
- 딕셔너리의 value를 가져온다.
딕셔너리명.get(x)
- 키 값(x)로 딕셔너리의 values 즉 item을 가져온다.
반응형
'🚩 Coding Test > Baekjoon' 카테고리의 다른 글
[BOJ][Python] 1735 분수 합 (0) | 2024.04.12 |
---|---|
[BOJ][Python] 13241 최소공배수 (0) | 2024.04.12 |
[BOJ][Python] 7785 회사에 있는 사람 (0) | 2024.04.11 |
[BOJ][Python] 14425 문자열 집합 (0) | 2024.04.11 |
[BOJ][Python] 10815 숫자 카드 (0) | 2024.04.11 |