๐ ํ์ด์ฌ ์ผ๋ก ํ์ด
๐ ๋ฌธ์ ๋งํฌ :
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๐ ๋ฌธ์ ์ค๋ช :
๊ฒฝํ๋ ๊ณผ์์์์ ๊ทค์ ์ํํ์ต๋๋ค. ๊ฒฝํ๋ ์ํํ ๊ทค ์ค 'k'๊ฐ๋ฅผ ๊ณจ๋ผ ์์ ํ๋์ ๋ด์ ํ๋งคํ๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ํํ ๊ทค์ ํฌ๊ธฐ๊ฐ ์ผ์ ํ์ง ์์ ๋ณด๊ธฐ์ ์ข์ง ์๋ค๊ณ ์๊ฐํ ๊ฒฝํ๋ ๊ทค์ ํฌ๊ธฐ๋ณ๋ก ๋ถ๋ฅํ์ ๋ ์๋ก ๋ค๋ฅธ ์ข ๋ฅ์ ์๋ฅผ ์ต์ํํ๊ณ ์ถ์ต๋๋ค.
์๋ฅผ ๋ค์ด, ๊ฒฝํ๊ฐ ์ํํ ๊ทค 8๊ฐ์ ํฌ๊ธฐ๊ฐ [1, 3, 2, 5, 4, 5, 2, 3] ์ด๋ผ๊ณ ํฉ์๋ค. ๊ฒฝํ๊ฐ ๊ทค 6๊ฐ๋ฅผ ํ๋งคํ๊ณ ์ถ๋ค๋ฉด, ํฌ๊ธฐ๊ฐ 1, 4์ธ ๊ทค์ ์ ์ธํ ์ฌ์ฏ ๊ฐ์ ๊ทค์ ์์์ ๋ด์ผ๋ฉด, ๊ทค์ ํฌ๊ธฐ์ ์ข ๋ฅ๊ฐ 2, 3, 5๋ก ์ด 3๊ฐ์ง๊ฐ ๋๋ฉฐ ์ด๋๊ฐ ์๋ก ๋ค๋ฅธ ์ข ๋ฅ๊ฐ ์ต์์ผ ๋์ ๋๋ค.
๊ฒฝํ๊ฐ ํ ์์์ ๋ด์ผ๋ ค๋ ๊ทค์ ๊ฐ์ k์ ๊ทค์ ํฌ๊ธฐ๋ฅผ ๋ด์ ๋ฐฐ์ด tangerine์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ๊ฒฝํ๊ฐ ๊ทค k๊ฐ๋ฅผ ๊ณ ๋ฅผ ๋ ํฌ๊ธฐ๊ฐ ์๋ก ๋ค๋ฅธ ์ข ๋ฅ์ ์์ ์ต์๊ฐ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ ์ ํ ์ฌํญ
- 1 ≤ k ≤ tangerine์ ๊ธธ์ด ≤ 100,000
- 1 ≤ tangerine์ ์์ ≤ 10,000,000
๐ ์ ์ถ๋ ฅ ์

์ถ์ธก)
ํฌ๊ธฐ ์ซ์๋ฅผ ์ธ๋ฑ์ค๋ก ์ฌ์ฉํ์ฌ ๊ฐ์๋ฅผ ๋ฐฐ์ด๋ก ์ ๋ฆฌ.
๊ฐ์ฅ max ๊ฐ์ธ๊ฑฐ ๋ถํฐ k๊ฐ์์ ๋นผ๊ณ 0์ผ๋ก ์ด๊ธฐํํด์ ๊ทธ ๋ค์ ํฐ๊ฐ ์ด๋ฐ ์์ผ๋ก ์ต๋ํ ํ ์ข ๋ฅ์์ ๋ง์ ์๋ฅผ ๋บ ์ ์๊ฒ ํ๋ ๋ฐฉ์์ผ๋ก ์งํํ๋ฉด ๋ ๋ฏ!
์์ค์ฝ๋)
* 1์ฐจ) 82.4 ์ ๋๋จธ์ง ์๊ฐ์ด๊ณผ
def solution(k, tangerine):
answer = 0
tangerine_arr = [0] * (max(tangerine) + 1)
for one in tangerine :
tangerine_arr[one] += 1
while k > 0 :
max_num = max(tangerine_arr)
k -= max_num
answer += 1
tangerine_arr[tangerine_arr.index(max_num)] = 0
return answer
* 2์ฐจ) ์ฑ๊ณต
def solution(k, tangerine):
answer = 0
tangerine_arr = [0] * (max(tangerine) + 1)
for one in tangerine :
tangerine_arr[one] += 1
if k < max(tangerine_arr) :
return 1
tangerine_arr.sort()
tangerine_arr.reverse()
for one in tangerine_arr :
k -= one
answer += 1
if k <= 0 :
break
return answer
๋ฆฌ๋ทฐ)
1์ฐจ ํผ๋๋ฐฑ)
1์ฐจ์์ while๋ฌธ์์ ์๊ฐ์ด๊ณผ๊ฐ ๋๋ ๊ฑฐ ๊ฐ์์ ์ด๋ป๊ฒ ์์ ํ ๊น ๊ณ ๋ฏผํ๋๋ฐ,
์ด๊ฒ ์ข ๋ฅ์ ๊ฐ์๊ฐ ์ค์ํ๊ฑฐ์ง ํฌ๊ธฐ ์ข ๋ฅ๊ฐ ๋ฌด์์ธ๊ฐ๋ ์ค์ํ์ง ์์ ๋ฌธ์ ์ฌ์ ์ด๋ถ๋ถ์ ๋ค์ ์๊ฐํด๋ดค๋ค.
ํฌ๊ธฐ๋ณ๋ก ๋ฐฐ์ด ์ ๋ฆฌํ ํ์ ์ ๋ ฌํ๊ณ ์ญ์ ๋ ฌํด for๋ฌธ์ผ๋ก ๊ฐ์ฅ ํฐ ๊ฐ์๋ฅผ ๊ฐ์ง ๊ฑฐ ๋ถํฐ k์์ ๋นผ๋ฉด ๋๊ฒ ๋ค ์ถ์ด ์งํ!
'Coding Test > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Programmers] ๊ณต์ ์ฐ์ฑ (0) | 2023.04.03 |
|---|---|
| Programmers] ๋ง์น ํ๊ธฐ (0) | 2023.03.28 |
| ์์ด (0) | 2023.03.18 |
| Programmers] ๋ฉ๋ฆฌ ๋ฐ๊ธฐ (0) | 2023.03.18 |
| Programmers] [1์ฐจ] ์บ์ (0) | 2023.03.18 |
