์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- numpy
- ํ์ด์ฌ
- ์๋ํด๋ผ์ฐ๋
- ๋ ๋ฆฝํ๋ณธ
- Lambda
- dataframe
- PCA
- ๋ฐ์ดํฐ๋ถ์
- ๋์ํ๋ณธ
- opencv
- Python
- ํฌ๋กค๋ง
- DBSCAN
- ์ธ๋์ํ๋ง
- ๋น ๋ฐ์ดํฐ
- ์ค๋ฒ์ํ๋ง
- iloc
- datascience
- ๋ฐ์ดํฐ๋ถ๊ท ํ
- ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ
- ADsP
- LDA
- t-test
- pandas
- ๋ฐ์ดํฐ๋ถ์์ ๋ฌธ๊ฐ
- ๋ฐ์ดํฐ๋ถ์์ค์ ๋ฌธ๊ฐ
- ์ฃผ์ฑ๋ถ๋ถ์
- ADP
- ํ ์คํธ๋ถ์
- ๊ตฐ์งํ
Data Science LAB
[Python] ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ์ฐ์ต level1 (๋ช ์์ ์ ๋น(1)) ๋ณธ๋ฌธ
[Python] ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ์ฐ์ต level1 (๋ช ์์ ์ ๋น(1))
ใ ใ ใ ใ 2022. 12. 8. 00:091. ๋ฌธ์ ์ค๋ช
"๋ช ์์ ์ ๋น"์ด๋ผ๋ TV ํ๋ก๊ทธ๋จ์์๋ ๋งค์ผ 1๋ช ์ ๊ฐ์๊ฐ ๋ ธ๋๋ฅผ ๋ถ๋ฅด๊ณ , ์์ฒญ์๋ค์ ๋ฌธ์ ํฌํ์๋ก ๊ฐ์์๊ฒ ์ ์๋ฅผ ๋ถ์ฌํฉ๋๋ค. ๋งค์ผ ์ถ์ฐํ ๊ฐ์์ ์ ์๊ฐ ์ง๊ธ๊น์ง ์ถ์ฐ ๊ฐ์๋ค์ ์ ์ ์ค ์์ k๋ฒ์งธ ์ด๋ด์ด๋ฉด ํด๋น ๊ฐ์์ ์ ์๋ฅผ ๋ช ์์ ์ ๋น์ด๋ผ๋ ๋ชฉ๋ก์ ์ฌ๋ ค ๊ธฐ๋ ํฉ๋๋ค. ์ฆ ํ๋ก๊ทธ๋จ ์์ ์ดํ ์ด๊ธฐ์ k์ผ๊น์ง๋ ๋ชจ๋ ์ถ์ฐ ๊ฐ์์ ์ ์๊ฐ ๋ช ์์ ์ ๋น์ ์ค๋ฅด๊ฒ ๋ฉ๋๋ค. k์ผ ๋ค์๋ถํฐ๋ ์ถ์ฐ ๊ฐ์์ ์ ์๊ฐ ๊ธฐ์กด์ ๋ช ์์ ์ ๋น ๋ชฉ๋ก์ k๋ฒ์งธ ์์์ ๊ฐ์ ์ ์๋ณด๋ค ๋ ๋์ผ๋ฉด, ์ถ์ฐ ๊ฐ์์ ์ ์๊ฐ ๋ช ์์ ์ ๋น์ ์ค๋ฅด๊ฒ ๋๊ณ ๊ธฐ์กด์ k๋ฒ์งธ ์์์ ์ ์๋ ๋ช ์์ ์ ๋น์์ ๋ด๋ ค์ค๊ฒ ๋ฉ๋๋ค.
์ด ํ๋ก๊ทธ๋จ์์๋ ๋งค์ผ "๋ช ์์ ์ ๋น"์ ์ตํ์ ์ ์๋ฅผ ๋ฐํํฉ๋๋ค. ์๋ฅผ ๋ค์ด, k = 3์ด๊ณ , 7์ผ ๋์ ์งํ๋ ๊ฐ์์ ์ ์๊ฐ [10, 100, 20, 150, 1, 100, 200]์ด๋ผ๋ฉด, ๋ช ์์ ์ ๋น์์ ๋ฐํ๋ ์ ์๋ ์๋์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด [10, 10, 10, 20, 20, 100, 100]์ ๋๋ค.
๋ช ์์ ์ ๋น ๋ชฉ๋ก์ ์ ์์ ๊ฐ์ k, 1์ผ๋ถํฐ ๋ง์ง๋ง ๋ ๊น์ง ์ถ์ฐํ ๊ฐ์๋ค์ ์ ์์ธ score๊ฐ ์ฃผ์ด์ก์ ๋, ๋งค์ผ ๋ฐํ๋ ๋ช ์์ ์ ๋น์ ์ตํ์ ์ ์๋ฅผ returnํ๋ solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
2. ์ ํ ์ฌํญ
- 3 ≤ k ≤ 100
- 7 ≤ score์ ๊ธธ์ด ≤ 1,000
- 0 ≤ score[i] ≤ 2,000
3. ๋ด ํ์ด
def solution(k, score):
answer = []
for i in range(1,len(score)+1):
if i <= k:
answer.append(min(score[:i]))
else:
answer.append(sorted(score[:i],reverse=True)[k-1])
return answer
๋งค ๋ฐ๋ณต๋ง๋ค sorted()ํจ์๋ฅผ ์ฌ์ฉํด์ผ ํ๋ฏ๋ก stack์ ๋ง๋ค์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๊ณ ๋ คํด ๋ณธ๋ค.
4. ๋ค๋ฅธ ์ฌ๋ ํ์ด
def solution(k, score):
q = []
answer = []
for s in score:
q.append(s)
if (len(q) > k):
q.remove(min(q))
answer.append(min(q))
return answer