728x90
볼링공의 무게와 보관할 사물함 번호가 입력 받아 저장하고,
볼링공의 무게가 주어지면 그 볼링공을 보관 중인 사물함 번호 출력하기
더보기
문제
동현이는 볼링을 사랑하는 훌륭한 프로그래머다. 오늘도 볼링을 치고 싶은 동현이는 자신의 볼링공 컬렉션을 보면서 어떤 볼링공을 가져갈지 고민에 빠졌다. 동현이는 매일의 컨디션에 따라 아주 미세한 무게까지 컨트롤하고 싶기 때문에 다양한 무게의 볼링공이 매우 많다. 볼링공을 관리하는 사물함에는 사물함 안에 들어 있는 볼링공들의 무게가 적혀 있고, 하나의 사물함에 여러 개의 볼링공이 들어갈 수 있다. 동현이는 오로지 볼링에만 집중하고 싶기 때문에 볼링공 관리는 여러분에게 맡기기로 했다.
동현이의 요청에 따라 볼링공을 관리해 보자!
요청은 다음과 같다.
- 1 x w: 번 사물함에 무게의 볼링공을 넣는다.
- 2 w: 무게를 가진 볼링공이 들어 있는 사물함의 번호를 출력한다.
동현이의 볼링공은 무게가 모두 다르기 때문에 2번 요청의 답은 항상 하나만 존재한다.
2번 요청이 들어올 때, 무게를 가진 볼링공은 무조건 어딘가에 존재한다.
입력
첫 번째 줄에 요청의 개수 $($1≤M≤500000$)$이 주어진다.
두 번째 줄부터 이어지는 개의 줄에 요청이 주어진다.
- 1 x w: x번 사물함에 w 무게의 볼링공을 넣는다. $($1≤x≤1000000, x는 정수$)$
- 2 w: w 무게를 가진 볼링공이 들어 있는 사물함의 번호를 출력한다. $($1≤w≤$10^9$, w는 정수$)$
2번 요청이 들어올 때, w 무게를 가진 볼링공은 무조건 어딘가에 존재한다.
2번 요청은 최소 1번 이상 들어온다.
출력
2번 요청이 들어올 때 사물함의 번호를 출력한다.
1로 시작하는 게 들어오면 딕셔너리에 무게를 key로 사물함 번호를 value로 저장하고
2로 시작하는 게 들어오면 딕셔너리에서 무게로 사물함 번호를 찾아서 출력하기
import sys
n = int(sys.stdin.readline())
d = dict()
for _ in range(n):
i = sys.stdin.readline().split()
# 1번일 때
if i[0] == "1":
# key:무게, value:번호
d[i[2]] = i[1]
# 2번 일 때
else:
주어진 무게의 볼링공이 들어있는 사물함 번호 출력
print(d[i[1]])
더보기
예제 입력 1
5
1 5 900
1 7 300
1 15 100
2 300
2 100
예제 출력 1
7 15
예제 입력 2
4
1 900 1
2 1
1 1 10000
2 10000
예제 출력 2
900
1
'IT > Python' 카테고리의 다른 글
[백준] 13413번 오셀로 재배치 [Python] (0) | 2023.08.29 |
---|---|
[백준] 26005번 나뭇잎 학회 [Python] (0) | 2023.08.28 |
[프로그래머스] Lv.2 하노이의 탑 [Python] (0) | 2023.08.25 |
[백준] 3060번 욕심쟁이 돼지 [Python] - 등비수열 (0) | 2023.08.24 |