728x90
반응형
https://www.acmicpc.net/problem/21939
문제 해결
- Hash 맵을 통해 문제 번호를 알면 문제 난의도를 바로 알 수 있도록 매핑한다.
- 문제 난이도를 알면 그 난이도 문제 번호들을 알 수 있도록 int-list 매핑을 한다.
- recommend == 1일 때는 어려운 난이도부터 살펴보고 recommend ==-1은 쉬운 난이도부터 문제가 있는지 살펴보도록 구현한다.
CODE
import sys
input = sys.stdin.readline
from collections import defaultdict
n = int(input())
pro = defaultdict(list)
hash = defaultdict(int)
for _ in range(n):
p, l = map(int, input().split())
pro[l].append(p)
hash[p] = l
m = int(input())
for _ in range(m):
tmp = list(input().split())
if tmp[0] == 'add':
p = int(tmp[1])
l = int(tmp[2])
pro[l].append(p)
hash[p] = l
elif tmp[0] =='recommend':
if int(tmp[1]) == 1:
for i in range(100,0,-1):
if len(pro[i]):
print(max(pro[i]))
break
else:
for i in range(1,101,1):
if len(pro[i]):
print(min(pro[i]))
break
elif tmp[0] == 'solved':
num = int(tmp[1])
c = hash[num]
del pro[c][pro[c].index(num)]
hash[num]=None
728x90
반응형
'알고리즘 > [python] 백준 BOJ' 카테고리의 다른 글
[python] 백준 7490 0 만들기 (0) | 2023.09.07 |
---|---|
[python] 백준 3055 탈출 (0) | 2023.09.04 |
[python] 백준 1201 NMK (2) | 2023.08.27 |
[python] 백준 2671 잠수함식별 (0) | 2023.08.26 |
[python] 백준 17386 선분 교차 1 (0) | 2023.08.25 |
댓글