๐ ํ์ด์ฌ ์ผ๋ก ํ์ด
๐ ๋ฌธ์ ๋งํฌ :
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๐ ๋ฌธ์ ์ค๋ช :
"๋ช ์์ ์ ๋น"์ด๋ผ๋ 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 ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ ์ ํ ์ฌํญ
- 3 ≤ k ≤ 100
- 7 ≤ score์ ๊ธธ์ด ≤ 1,000
- 0 ≤ score[i] ≤ 2,000
๐ ์ ์ถ๋ ฅ ์

์ถ์ธก)
1. ์์ ๋ฆฌ์คํธ์ ๊ฒฐ๊ณผ๊ฐ ๋ฆฌ์คํธ๋ฅผ ์ ์ธํ๋ค.
1. score ๊ธธ์ด ๋งํผ for๋ฌธ์ ๋๋ฆฐ๋ค.
2. ์์ ๋ฆฌ์คํธ์ ์ถ๊ฐ
2. ์ถ๊ฐํ๋ฉด sort
3. ๋ง์ฝ k์ผ ๋ณด๋ค
- ์๊ฑฐ๋ ๊ฐ๋ค๋ฉด : (์ญ์ ์์ด) ์ ๋ ฌ ํ ์์ ๋ฆฌ์คํธ์ ๊ธธ์ด์ -1 ์ธ๋ฑ์ค ๊ฐ์ ๊ฐ์ ธ์ ๊ฒฐ๊ณผ๊ฐ ๋ฆฌ์คํธ์ ์ถ๊ฐํ๋ค.
- ํฌ๋ค๋ฉด : k ์ธ๋ฑ์ค (=๋ง์ง๋ง์ ๋ถ์ ๋ฐฐ์ด)์ ์ ๊ฑฐํ๋ค. ์์ ๋ฆฌ์คํธ ๊ธธ์ด์ -1 ์ธ๋ฑ์ค ๊ฐ์ ๊ฐ์ ธ์ ๊ฒฐ๊ณผ๊ฐ ๋ฆฌ์คํธ์ ์ถ๊ฐํ๋ค.
4. for๋ฌธ์ ๋์ ๊ฒฐ๊ณผ๊ฐ ๋ฆฌ์คํธ๋ฅผ ๋ฐํ
์์ค์ฝ๋)
* 1์ฐจ) ์ฑ๊ณต
def solution(k, score):
answer_List = []
k_List = []
for i in range(0, len(score)):
k_List.append(score[i])
k_List.sort()
k_len = len(k_List)
if len(k_List) > k:
k_List.remove(k_List[0])
answer_List.append(k_List[0])
else :
answer_List.append(k_List[0])
return answer_List
๋ฆฌ๋ทฐ)
sort ์ค๋ฆ์ฐจ์์ด๋ 0๋ฒ์ด ๊ฐ์ฅ ๋ฎ์ ์์์ ์๊ฐํด์ ์ฒ๋ฆฌํ๋ฉด ์ฝ๋ค. ์ถ์ธกํ ๋๋ ์๊ฐ ๋ด๋ฆผ์ฐจ์์ด๋ผ ์๊ฐํด์ ๋ฐฐ์ด ๋์ ์๋ฅผ ์๊ฐ์ ํ์๋ค. ๊ธฐ๋ณธ์ ์ค๋ฆ์ฐจ์!! ์์ ์๋ผ์ผํ๋ค.
'Coding Test > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Programmers] ๊ณผ์ผ ์ฅ์ (1) | 2023.02.13 |
|---|---|
| Programmers] ๊ธฐ์ฌ๋จ์์ ๋ฌด๊ธฐ (0) | 2023.02.04 |
| Programmers] ๋ฌธ์์ด ๋๋๊ธฐ (2) | 2023.01.31 |
| Programmers] ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฐ์ ๊ธ์ (0) | 2023.01.31 |
| Programmers] ํฌ๊ธฐ๊ฐ ์์ ๋ถ๋ถ ๋ฌธ์ (2) | 2023.01.31 |
