ν°μ€ν 리 λ·°
νλ‘κ·Έλλ¨Έμ€: μΌκ·Ό μ§μ
dirmathfl 2020. 11. 2. 17:15λ¬Έμ
μ½λ©ν μ€νΈ μ°μ΅ - μΌκ·Ό μ§μ
νμ¬μ Demiλ κ°λμ μΌκ·Όμ νλλ°μ, μΌκ·Όμ νλ©΄ μΌκ·Ό νΌλ‘λκ° μμ λλ€. μΌκ·Ό νΌλ‘λλ μΌκ·Όμ μμν μμ μμ λ¨μ μΌμ μμ λμ μ κ³±νμ¬ λν κ°μ λλ€. Demiλ Nμκ° λμ μΌκ·Ό νΌλ‘λ
programmers.co.kr
λ¬Έμ νμ΄
λ¨μ μΌμ μμ λμ΄ μμ λ, μΌκ·Ό μ§μλ₯Ό μ΅μννμ¬ λ°ννλ λ¬Έμ μ΄λ€. μΌμ μμ λμ΄ μκ³ , μΌμ ν μ μλ μκ°μ΄ μλ€λ©΄ μμ λμ΄ κ°μ₯ ν° μμ λΆν° μ²λ¦¬νμ¬μΌ νλ€. μΌκ·Ό μ§μλ `μμ λμ μ κ³±`μ΄κΈ° λλ¬Έμ΄λ€.
λ¬Έμ λ₯Ό νκΈ° μν΄μλ `Python`μ κ²½μ° `heapq`λ₯Ό μ¬μ©νμ¬ νμ΄μΌ νλ€. `heapq`λ μ΅μ νμ΄κΈ° λλ¬Έμ μ΅λ νμ λ§λ€κΈ° μν΄μλ μμ κ°μΌλ‘ λ³ννμ¬μΌ νλ€. (μ΄λ worksκ° 1 μ΄μ μ΄κΈ°μ κ°λ₯νλ€.)
μ½λ
from heapq import heapify, heappush, heappop
def solution(n, works):
answer = 0
works = [-work for work in works]
heapify(works)
while n:
max_time = -heappop(works)
if not max_time:
break
heappush(works, -(max_time - 1))
n -= 1
return sum(work ** 2 for work in works)'π¨βπ» μ½λ©ν μ€νΈ > νλ‘κ·Έλλ¨Έμ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| νλ‘κ·Έλλ¨Έμ€: μ§κ²λ€λ¦¬ (0) | 2020.11.04 |
|---|---|
| νλ‘κ·Έλλ¨Έμ€: κ°μ₯ κΈ΄ ν°λ¦°λ둬 (0) | 2020.11.03 |
| νλ‘κ·Έλλ¨Έμ€: μ«μ κ²μ (0) | 2020.11.02 |
| νλ‘κ·Έλλ¨Έμ€: λ°°λ¬ (0) | 2020.11.01 |
| νλ‘κ·Έλλ¨Έμ€: N-Queen (0) | 2020.10.29 |