λ¬Έμ μ€λͺ
νμ¬μ Demiλ κ°λμ μΌκ·Όμ νλλ°μ, μΌκ·Όμ νλ©΄ μΌκ·Ό νΌλ‘λκ° μμ λλ€. μΌκ·Ό νΌλ‘λλ μΌκ·Όμ μμν μμ μμ λ¨μ μΌμ μμ λμ μ κ³±νμ¬ λν κ°μ λλ€. Demiλ Nμκ° λμ μΌκ·Ό νΌλ‘λλ₯Ό μ΅μννλλ‘ μΌν κ²λλ€.Demiκ° 1μκ° λμ μμ λ 1λ§νΌμ μ²λ¦¬ν μ μλ€κ³ ν λ, ν΄κ·ΌκΉμ§ λ¨μ N μκ°κ³Ό κ° μΌμ λν μμ λ worksμ λν΄ μΌκ·Ό νΌλ‘λλ₯Ό μ΅μνν κ°μ 리ν΄νλ ν¨μ solutionμ μμ±ν΄μ£ΌμΈμ.
μ ν μ¬ν
- worksλ κΈΈμ΄ 1 μ΄μ, 20,000 μ΄νμΈ λ°°μ΄μ λλ€.
- worksμ μμλ 50000 μ΄νμΈ μμ°μμ λλ€.
- nμ 1,000,000 μ΄νμΈ μμ°μμ λλ€.
μ μΆλ ₯ μ
μ
μΆλ ₯ μ #1
n=4 μΌ λ, λ¨μ μΌμ μμ
λμ΄ [4, 3, 3] μ΄λΌλ©΄ μΌκ·Ό μ§μλ₯Ό μ΅μννκΈ° μν΄ 4μκ°λμ μΌμ ν κ²°κ³Όλ [2, 2, 2]μ
λλ€. μ΄ λ μΌκ·Ό μ§μλ 22 + 22 + 22 = 12 μ
λλ€.
μ
μΆλ ₯ μ #2
n=1μΌ λ, λ¨μ μΌμ μμ
λμ΄ [2,1,2]λΌλ©΄ μΌκ·Ό μ§μλ₯Ό μ΅μννκΈ° μν΄ 1μκ°λμ μΌμ ν κ²°κ³Όλ [1,1,2]μ
λλ€. μΌκ·Όμ§μλ 12 + 12 + 22 = 6μ
λλ€.
μ μΆλ ₯ μ #3
λ¨μ μμ λμ΄ μμΌλ―λ‘ νΌλ‘λλ 0μ λλ€.
νμ΄ μ½λ
import heapq
def solution(n, works):
answer = 0
heap = [-w for w in works]
heapq.heapify(heap)
while heap and n != 0:
val = heapq.heappop(heap) + 1
n -= 1
if val != 0:
heapq.heappush(heap, val)
if heap:
answer = sum([h**2 for h in heap])
return answer
그리λ, ν λ¬Έμ μ΄λ€.
μΌκ·Ό μ§μλ μ΅μ’ μ μΌλ‘ κ° κ°μ΄ μ κ³±μ΄ λλ€. λ°λΌμ κ° κ° μ€, κ°μ₯ ν° κ°μ μ°μ μ μΌλ‘ μ€μ¬μΌ νλ€.
κ°μ₯ ν° κ°μ μκ° λ³΅μ‘λλ©΄μμ μ 리νλλ‘ μ»μ μ μλ λ°©λ²μ, μλ£κ΅¬μ‘° μ€ heapμ μ¬μ©νλ κ²μ΄λ€.
μ΅λ νμ ꡬμ±ν΄μ, ν λ΄μ μμκ° μκ³ , μΌκ·Ό μκ°μ΄ λ¨μ μμ λμ
μ΅λ κ°μ κΊΌλ΄ κ°μ μ€μ΄κ³ , κ°μ΄ 0μ΄ μλλΌλ©΄ λ€μ νμ μ½μ νλ€.
μ΄μ κ°μ λ°©μμΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°ν μ μλ€.
'π μ½λ©ν μ€νΈ λλΉ : PS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€] [1μ°¨] λ΄μ€ ν΄λ¬μ€ν°λ§ (level2, python) (0) | 2022.09.12 |
---|---|
[νλ‘κ·Έλλ¨Έμ€] kμ§μμμ μμ κ°μ ꡬνκΈ° (level2, python) (0) | 2022.09.12 |
[νλ‘κ·Έλλ¨Έμ€] n^2 λ°°μ΄ μλ₯΄κΈ° (level2, python) (0) | 2022.09.10 |
[νλ‘κ·Έλλ¨Έμ€] κΈ°λ₯κ°λ° (level2, python) (1) | 2022.09.10 |
[νλ‘κ·Έλλ¨Έμ€] μμ₯ (level2, python) (0) | 2022.09.10 |