๋ฌธ์ ์ค๋ช
https://programmers.co.kr/learn/courses/30/lessons/12927
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ผ๊ทผ ์ง์
ํ์ฌ์ Demi๋ ๊ฐ๋์ ์ผ๊ทผ์ ํ๋๋ฐ์, ์ผ๊ทผ์ ํ๋ฉด ์ผ๊ทผ ํผ๋ก๋๊ฐ ์์ ๋๋ค. ์ผ๊ทผ ํผ๋ก๋๋ ์ผ๊ทผ์ ์์ํ ์์ ์์ ๋จ์ ์ผ์ ์์ ๋์ ์ ๊ณฑํ์ฌ ๋ํ ๊ฐ์ ๋๋ค. Demi๋ N์๊ฐ ๋์ ์ผ๊ทผ ํผ๋ก๋
programmers.co.kr
ํ์ด
ํญ์ ์ต๋, ์ต์ ๊ฐ์ ์ ๊ทผํ๋ฉด ๋๋, ํ์ ์ฌ์ฉํ๋ฉด ๋๊ฒ ๊ตฌ๋ ๋ผ๊ณ ์ฝ๊ฒ ํ ์ ์์๋ ๋ฌธ์ ๋ค.
์ต๋ํ์ ๋ง๋ค๊ธฐ ์ํด, ์์๋ฅผ ๋ฃ์๊ณ , ์์๋ฅผ ๋ฃ์๊ธฐ ๋๋ฌธ์ +1์ ๋ํ์ฌ ํ์๋ค.
๊ทธ ์ธ, ์ผ์ด ์ฌ๋ผ์ง๋ ๊ฒฝ์ฐ, ํ์ด ๋น์์ ๊ฒฝ์ฐ๋ฅผ ๋ฐ๋ก ์ฒ๋ฆฌํด์ฃผ์๋ค.
์ฒ๋ฆฌ๊ณผ์ ์ด ๊น๋ํ์ง๋ ์๋ค.
import heapq
def solution(n, works):
answer = 0
h = []
for w in works:
heapq.heappush(h, -w)
for i in range(n):
if len(h) == 0:
break
x = heapq.heappop(h)
x += 1
if x != 0:
heapq.heappush(h, x)
for w in h:
answer += w ** 2
return answer
'Problem Solving ๐ฅ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์นด๋ ์ง ๋ง์ถ๊ธฐ / ํ์ด์ฌ (2) | 2021.01.25 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฐฉ๋ฌธ ๊ธธ์ด / ํ์ด์ฌ (0) | 2021.01.24 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ธ๋ฒฝ ์ ๊ฒ / ํ์ด์ฌ (0) | 2021.01.23 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ธฐ๋ฅ๊ณผ ๋ณด ์ค์น / ํ์ด์ฌ / (์งํฉ) (0) | 2021.01.23 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๊ฐ์ฅ ๋จผ ๋ ธ๋ / ํ์ด์ฌ (0) | 2021.01.19 |