반응형
백준 BAEKJOON 29723번 브실이의 입시전략 [PYTHON/파이썬]
<문제 출처> (SILVER Ⅴ)
https://www.acmicpc.net/problem/29723
<풀이>
딕셔너리로 구현하여 풀었다.
먼저 브실이가 수강한 과목을 딕셔너리로 만든 후
브실대학에서 공개한 과목의 점수를 더한 뒤 딕셔너리에서 삭제시켰다.
그리고 딕셔너리를 점수를 기준으로 잡고 오름차순으로 정렬한 뒤
브실대학에서 요구하는 과목 수가 있기 때문에 M-K로 for 문을 순회하여
남은 과목의 최소 점수와 최대 점수를 구했다.
<코드>
N, M, K = map(int, input().split())
subject = {}
for _ in range(N):
s, p = input().split()
subject[s] = int(p)
open_subject = 0 # 브실대학에서 공개한 과목 점수 합
for _ in range(K):
t = input()
open_subject += subject[t]
del subject[t]
subject = sorted(subject.items(), key=lambda x: x[1])
min_score, max_score = 0, 0 # 나머지 과목 최소, 최대 점수
for i in range(M - K):
min_score += subject[i][1]
max_score += subject[-i - 1][1]
print(open_subject + min_score, open_subject + max_score)
반응형
'ALGORITHM > PYTHON' 카테고리의 다른 글
백준 BAEKJOON 30017번 치즈버거 만들기 [PYTHON/파이썬] (1) | 2023.09.20 |
---|---|
백준 BAEKJOON 29807번 학번을 찾아줘! [PYTHON/파이썬] (0) | 2023.09.18 |
[PYTHON] 프로그래머스 문자열 반복해서 출력하기 (0) | 2023.09.15 |
[PYTHON] 프로그래머스 a와 b 출력하기 (0) | 2023.09.13 |
백준 BAEKJOON 29790번 임스의 메이플컵 [PYTHON/파이썬] (0) | 2023.09.13 |