ํฐ์คํ ๋ฆฌ ๋ทฐ
728x90
๋ฐ์ํ
๋ฌธ์
๋ฌธ์ ํ์ด
๊ฐ์ฐ์ ํ ์ ์๋ ๊ฒฝ์ฐ์ ๋ฐ๋ผ, ์๊ฐ๊ณผ ์ผ์๊ฐ ์ ๋ณด๋ก ์ฃผ์ด์ง๋ค. ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์๋ `heapq`๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ค. ์ ๋ ฅ๋ ์ ๋ณด(๊ฐ์๋ฃ, ์ผ์ )๋ฅผ ์ผ์ ์์ผ๋ก ์ ๋ ฌํ๊ณ , heap์ ์๋ ๊ฐ์ ์๋ฅผ ์ผ์ ์ด๋ผ๊ณ ์๊ฐํ์ฌ ์ฒ๋ฆฌํ๋ฉด ์ฝ๊ฒ ํ ์ ์๋ค.
์ฝ๋
from sys import stdin
import heapq
if __name__ == '__main__':
PAY, DAY = 0, 1
answer = 0
n = int(stdin.readline())
info = [list(map(int, stdin.readline().split())) for _ in range(n)]
info.sort(key=lambda x: x[1])
heap = []
for i in range(n):
answer += info[i][PAY]
heapq.heappush(heap, info[i][PAY])
if len(heap) > info[i][DAY]:
answer -= heapq.heappop(heap)
print(answer)
728x90
๋ฐ์ํ
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 1783 ๋ณ๋ ๋์ดํธ (0) | 2020.09.08 |
---|---|
๋ฐฑ์ค: 12015 ์ต์ฅ ์ฆ๊ฐ ๋ถ๋ถ ์์ด 2 (0) | 2020.09.07 |
๋ฐฑ์ค: 1202 ๋ณด์ ๋๋ (0) | 2020.09.06 |
๋ฐฑ์ค: 1080 ํ๋ ฌ (0) | 2020.09.06 |
๋ฐฑ์ค: 11399 ATM (0) | 2020.09.05 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ