π€λ¬Έμ ν΄κ²°
Lv3
κ°μ₯ ν° κ°μ μ‘°κΈ μ© μ€μ¬λκ°μΌ νλ λ¬Έμ ! - μ°μ μμ νλ₯Ό μ΄μ©νλ€.
μ°μ μμ νλ 리μ€νΈμμ pop()μ νκ² λλ©΄ κ°μ₯ μμ κ°μ΄ λμ€κ² λλ€.
μ¬κΈ°μλ κ°μ₯ ν° κ°μ κΊΌλ΄μΌ νλ―λ‘ κ°κ°μ κ°μ μμλ‘ ννμ λ£μ΄ 쀬λ€.
κ°μ₯ μμ κ°(μ¬μ€μ κ°μ₯ ν° κ°)μ κΊΌλ΄μ 1μ© λν΄μ€λ€.
κ·Έλ¦¬κ³ λ€μ ννμ λ£μ΄μ€λ€.
ν μ€νΈ μΌμ΄μ€ 1λ²μ νμ΄ ν΄ λ³΄μ. 4, [4, 3, 3]
μ κ·Έλ¦Όμ 첫째μ€μ μ²μ ννμ λ£μμ λμ΄λ€.
λ€μ μ€λΆν°λ 1μκ°μ© μ§λ λ λ§λ€μ ννμ μν©μ΄λ€.
- -4κ° μ μΌ μμΌλ―λ‘ -4λ₯Ό κΊΌλ΄μ 1μ λν΄μ£Όκ³ λ€μ λ£λλ€.
- -3μ κΊΌλ΄μ 1μ λν΄μ£Όκ³ λ€μ λ£λλ€.
- λ -3μ κΊΌλ΄μ 1μ λν΄μ£Όκ³ λ€μ λ£λλ€.
- λ§μ§λ§μΌλ‘ -3μ κΊΌλ΄μ 1μ λν΄μ£Όκ³ λ€μ λ£λλ€.
κ²°κ³Όμ μΌλ‘ λ¨μ μΌλ€μ μ κ³±ν΄μ λν΄μ£Όλ©΄ λ!
π¨ ννλ₯Ό μ¬μ©νλλ ν¨μ¨μ±ν μ€νΈμμ ν¬κ² λμ€κΈ΄ νλ€( ννλ₯Ό μ°μ§ μμ μ΄λ€ λ€λ₯Έ λΆμ λΉν΄μ ... )
νμ§λ§ ννλ₯Ό μ¨λ 무λνκ² ν΅κ³Όν μ μλ°!
π»μμ€ μ½λ
import heapq
def solution(n, works):
answer = 0
# νν λ§λ€κΈ°!
pq = []
for work in works:
heapq.heappush(pq, -work)
# nλ§νΌ λ°λ³΅
for i in range(n):
work = heapq.heappop(pq)
if work == 0: # κΊΌλΈ κ°μ΄ 0μ΄λ©΄ λͺ¨λ μΌμ΄ λ€ 0μ΄λ―λ‘ μ’
λ£
return 0
heapq.heappush(pq, work+1) # νμκ° μΌνκ³ λ€μ ννμ μ μ₯
for work in pq:
answer += work ** 2
return answer
πλ¬Έμ νμΈ
μΆμ²: νλ‘κ·Έλλ¨Έμ€
λ§ν¬: https://programmers.co.kr/learn/courses/30/lessons/12927
λ¬Έμ μ€λͺ
νμ¬μ Demiλ κ°λμ μΌκ·Όμ νλλ°μ, μΌκ·Όμ νλ©΄ μΌκ·Ό νΌλ‘λκ° μμ λλ€. μΌκ·Ό νΌλ‘λλ μΌκ·Όμ μμν μμ μμ λ¨μ μΌμ μμ λμ μ κ³±νμ¬ λν κ°μ λλ€. Demiλ Nμκ° λμ μΌκ·Ό νΌλ‘λλ₯Ό μ΅μννλλ‘ μΌν κ²λλ€.Demiκ° 1μκ° λμ μμ λ 1λ§νΌμ μ²λ¦¬ν μ μλ€κ³ ν λ, ν΄κ·ΌκΉμ§ λ¨μ N μκ°κ³Ό κ° μΌμ λν μμ λ worksμ λν΄ μΌκ·Ό νΌλ‘λλ₯Ό μ΅μνν κ°μ 리ν΄νλ ν¨μ solutionμ μμ±ν΄μ£ΌμΈμ.
μ ν μ¬ν
- worksλ κΈΈμ΄ 1 μ΄μ, 20,000 μ΄νμΈ λ°°μ΄μ λλ€.
- worksμ μμλ 50000 μ΄νμΈ μμ°μμ λλ€.
- nμ 1,000,000 μ΄νμΈ μμ°μμ λλ€.
μ μΆλ ₯ μ
worksnresult
[4, 3, 3] | 4 | 12 |
[2, 1, 2] | 1 | 6 |
[1,1] | 3 | 0 |
μ μΆλ ₯ μ μ€λͺ
μ
μΆλ ₯ μ #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
'Algorithm Problem > Python' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[python] νλ‘κ·Έλλ¨Έμ€ - 무μ§μ λ¨Ήλ°© λΌμ΄λΈ(2019 KAKAO BLIND RECRUITMENT) (0) | 2020.09.11 |
---|---|
[python] νλ‘κ·Έλλ¨Έμ€ - λΈλ‘ κ²μ(2019 KAKAO BLIND RECRUITMENT) (3) | 2020.09.11 |
[python] νλ‘κ·Έλλ¨Έμ€ - μΏ ν€ κ΅¬μ (0) | 2020.09.10 |
[python] νλ‘κ·Έλλ¨Έμ€ - λμ€ν¬ 컨νΈλ‘€λ¬ (0) | 2020.09.10 |
[python] λ°±μ€ - 2343. κΈ°ν λ μ¨ (5) | 2020.09.09 |