[BOJ/Python] 28446 : 볼링공 찾아주기

정나영·2024년 4월 19일
0

👉 문제 링크

👉 첫번째 시도 (❌)
하나의 사물함에 여러 공이 들어갈 수 있음. 을 보고 defaultdict을 생각했다. 사물함 번호인 x를 키 값으로, value에 볼링공의 무게를 리스트로 저장하고자 했다.
결과는 시간초과!!

from collections import defaultdict
import sys
input = sys.stdin.readline

m = int(input())
dic = defaultdict(list)

for _ in range(m):
    request = list(input().split())

    if request[0] == '1':
        dic[request[1]].append(request[2])
    
    elif request[0] == '2':
        for key, value in dic.items():
            if request[1] in value:
                print(key)

👉 두번째 시도

생각해보니 같은 무게의 볼링공은 없다!
반대로, 볼링공의 무게를 key로 두면?

정답임!

import sys
input = sys.stdin.readline

m = int(input())

dic = {}

for _ in range(m):
    request = input().split()

    if request[0] == '1':
        dic[request[2]] = request[1]
    
    else:
        print(dic[request[1]])

이제 실버는 눈 감고도 풀어~ 라고 생각했는데
여전히 무당벌레였다.

0개의 댓글