๐๋ฌธ์
https://www.acmicpc.net/problem/2109
๐์๊ณ ๋ฆฌ์ฆ ๋ฐ ์ ๊ทผ
์ฐ์ ์์ ํ
1. ํ์ด์ฌ ๋ด์ฅํจ์์ธ heapq๋ฅผ ํ์ฉํ๋ค.
๐ป์ฝ๋
# 2109 ์ํ๊ฐ์ฐ
import heapq
# ์
๋ ฅ๋ฐ๊ธฐ
n = int(input())
univ = [list(map(int,input().split())) for _ in range(n)]
univ = sorted(univ, key=lambda x:x[1]) # ๋ฐ๋๋ผ์ธ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
lecture = []
for p,d in univ:
'''
univ๊ฐ day๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ ๋์ด ์์ผ๋ฏ๋ก
๋ฐ๋๋ผ์ธ์ด ์งง์ ์์๋ก ๋ํ ๊ฐ์ฐ์ ํ์ด๊ฐ ํ์ ์ ์ฅ๋๋ค.
์ด๋ ์ ์ฅ๋ ๋, ์ฐ์ ์์ ํ๋ฅผ ํ์ฉํ๋ฏ๋ก ํ์ด๊ฐ ๋ฎ์ ์์๋๋ก
์ ์ฅ๋๋ค.
'''
heapq.heappush(lecture,p)
'''
๊ฐ์ฐ์ ํ๋ฃจ์ ํ๋๋ง ๊ฐ๋ฅํ๋ค. ๊ฐ์ฐ์ ์๊ฐ ๋ฐ๋๋ผ์ธ๋ณด๋ค ํฌ๋ฉด
๊ฐ์ฐ์ ํ ์ ์์ผ๋ฏ๋ก pop์ ํ๋ฉด ์ฐ์ ์์ ํ๋ ํ์ด๊ฐ
๋ฎ์ ์์๋๋ก ๋ฑ์ด๋ธ๋ค.
๋ฐ๋ผ์ ํ์ ์ผ๋จ ํ์ด๋ฅผ ์ ์ฅํ ํ, ๋ฐ๋๋ผ์ธ๊ณผ ๋น๊ตํ์ ๋
๊ฐ์ฐ์ ์๊ฐ ๋ ๋ง์ผ๋ฉด ๊ฐ์ฅ ๋ฎ์ ํ์ด๋ฅผ ๋ฑ์ด๋ด๋ ์์ผ๋ก ํด์
for ๋ฌธ์ ๋ชจ๋ ๋๊ณ ๋๋ฉด ๋ฐ๋๋ผ์ธ ๋๋น ํ์ด๊ฐ ์ ๊ฐ์ฐ๋ง ๋จ๊ฒ ๋๋ค.
'''
if len(lecture) > d:
heapq.heappop(lecture)
print(sum(lecture))
๐์ฝ๋ ์ค๋ช
์ฃผ์์ผ๋ก ์ค๋ช ์ ๋์ฒดํ๋ค.
'Algorithm > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 1083 ์ํธ(ํ์ด์ฌ/python) (1) | 2023.08.27 |
---|---|
[๋ฐฑ์ค] 2531 ํ์ ์ด๋ฐฅ(ํ์ด์ฌ/python) (0) | 2023.08.23 |
[๋ฐฑ์ค] 17484 ์ง์ฐ์ ๋ฌ ์ฌํ(ํ์ด์ฌ/python) (0) | 2023.08.19 |
[๋ฐฑ์ค] 2638 ์น์ฆ(ํ์ด์ฌ/python) (0) | 2023.08.18 |
[๋ฐฑ์ค] 14940 ์ฌ์ด ์ต๋จ๊ฑฐ๋ฆฌ(ํ์ด์ฌ/python) (0) | 2023.08.17 |