250x250
Link
๋์ GitHub Contribution ๊ทธ๋ํ
Loading data ...
Notice
Recent Posts
Recent Comments
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- ์ธ๋์ํ๋ง
- t-test
- ์๋ํด๋ผ์ฐ๋
- Lambda
- LDA
- opencv
- ๋ฐ์ดํฐ๋ถ์์ค์ ๋ฌธ๊ฐ
- datascience
- ํฌ๋กค๋ง
- ํ์ด์ฌ
- PCA
- ๋ ๋ฆฝํ๋ณธ
- ๋ฐ์ดํฐ๋ถ๊ท ํ
- Python
- numpy
- dataframe
- ๋ฐ์ดํฐ๋ถ์์ ๋ฌธ๊ฐ
- ํ ์คํธ๋ถ์
- DBSCAN
- ADP
- ๋ฐ์ดํฐ๋ถ์
- pandas
- ADsP
- ์ฃผ์ฑ๋ถ๋ถ์
- ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ
- ๋์ํ๋ณธ
- ์ค๋ฒ์ํ๋ง
- ๊ตฐ์งํ
- ๋น ๋ฐ์ดํฐ
- iloc
Archives
Data Science LAB
[Python] ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ์ฐ์ต level 3 (์ผ๊ทผ ์ง์) ๋ณธ๋ฌธ
๐ Coding Test/Programmers
[Python] ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ์ฐ์ต level 3 (์ผ๊ทผ ์ง์)
ใ ใ ใ ใ 2023. 1. 17. 02:04728x90
1. ๋ฌธ์ ์ค๋ช
ํ์ฌ์ Demi๋ ๊ฐ๋์ ์ผ๊ทผ์ ํ๋๋ฐ์, ์ผ๊ทผ์ ํ๋ฉด ์ผ๊ทผ ํผ๋ก๋๊ฐ ์์ ๋๋ค. ์ผ๊ทผ ํผ๋ก๋๋ ์ผ๊ทผ์ ์์ํ ์์ ์์ ๋จ์ ์ผ์ ์์ ๋์ ์ ๊ณฑํ์ฌ ๋ํ ๊ฐ์ ๋๋ค. Demi๋ N์๊ฐ ๋์ ์ผ๊ทผ ํผ๋ก๋๋ฅผ ์ต์ํํ๋๋ก ์ผํ ๊ฒ๋๋ค.Demi๊ฐ 1์๊ฐ ๋์ ์์ ๋ 1๋งํผ์ ์ฒ๋ฆฌํ ์ ์๋ค๊ณ ํ ๋, ํด๊ทผ๊น์ง ๋จ์ N ์๊ฐ๊ณผ ๊ฐ ์ผ์ ๋ํ ์์ ๋ works์ ๋ํด ์ผ๊ทผ ํผ๋ก๋๋ฅผ ์ต์ํํ ๊ฐ์ ๋ฆฌํดํ๋ ํจ์ solution์ ์์ฑํด์ฃผ์ธ์.
2. ์ ํ ์ฌํญ
works๋ ๊ธธ์ด 1 ์ด์, 20,000 ์ดํ์ธ ๋ฐฐ์ด์
๋๋ค.
- works์ ์์๋ 50000 ์ดํ์ธ ์์ฐ์์ ๋๋ค.
- n์ 1,000,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค.
3. ๋ด ํ์ด
import heapq
def solution(n, works):
works.sort(reverse=True)
works = [-x for x in works if x>0]
for i in range(n):
w = heapq.heappop(works)
if w <= -1:
heapq.heappush(works,w+1)
else:
heapq.heappush(works,w)
return sum([x**2 for x in works])
์์ ๊ฐ์ ์์๊ฐ์ผ๋ก ๋ณ๊ฒฝํ ๋ค ์ต์ ํ ์ฌ์ฉ
4. ๋ค๋ฅธ ์ฌ๋ ํ์ด
from heapq import heapify, heappush, heappop
def solution(n, works):
heapify(works := [-i for i in works])
for i in range(min(n, abs(sum(works)))):
heappush(works, heappop(works)+1)
return sum([i*i for i in works])
728x90
'๐ Coding Test > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments