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 | 29 | 30 | 31 |
Tags
- numpy
- PCA
- ๋ฐ์ดํฐ๋ถ๊ท ํ
- ๋น ๋ฐ์ดํฐ
- ADsP
- LDA
- ๋์ํ๋ณธ
- ๋ ๋ฆฝํ๋ณธ
- ์ค๋ฒ์ํ๋ง
- ADP
- iloc
- datascience
- opencv
- ๊ตฐ์งํ
- ํฌ๋กค๋ง
- ๋ฐ์ดํฐ๋ถ์์ ๋ฌธ๊ฐ
- ์ฃผ์ฑ๋ถ๋ถ์
- dataframe
- ์ธ๋์ํ๋ง
- ๋ฐ์ดํฐ๋ถ์
- DBSCAN
- pandas
- ์๋ํด๋ผ์ฐ๋
- Lambda
- ํ์ด์ฌ
- ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ
- ๋ฐ์ดํฐ๋ถ์์ค์ ๋ฌธ๊ฐ
- Python
- ํ ์คํธ๋ถ์
- t-test
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