๐๏ธ ๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/138476
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
- ๊ทค K๊ฐ๋ฅผ ์์์ ํฌ๊ธฐ๋ณ๋ก ๋ถ๋ฅ๋ฅผ ํ ๊ฒ์ด๋ค.
- ์ด ๋, ๊ทค ํฌ๊ธฐ์ ์ข ๋ฅ๋ฅผ ์ต์ํ ํ ๊ฒฐ๊ณผ ์ถ๋ ฅ
๐ค ์๊ณ ๋ฆฌ์ฆ
1. cnt_list ๋ฅผ tangerine์ ์ต๋๊ฐ์ผ๋ก ์ค์
2. ๊ทค ํฌ๊ธฐ์ ๋ฐ๋ฅธ ๊ฐ์ ์นด์ดํธ ํด์ฃผ๊ธฐ
3. cnt_list๋ฅผ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
4-1. while ๋ฌธ์ ์ด์ฉํ์ฌ k > 0 ์ผ ๋, cnt_list ๊ฐ์ k์์ ํ๋์ฉ ๋นผ์ฃผ๊ณ ํ์๋ฅผ answer += 1 (ํ๋ฆฐ ํ์ด)
4-2. for๋ฌธ์ ์ด์ฉํ์ฌ k = k - cnt_list[i] ํ์ k๊ฐ 0๋ณด๋ค ํฌ๊ฑฐ๋ ์์ ๋์ cnt_list ์ธ๋ฑ์ค + 1 ๊ฐ์ answer
โ๏ธ ๋ด ํ์ด
## ํ๋ฆฐ ํ์ด
def solution(k, tangerine):
cnt_list = [0] * max(tangerine)
answer = 0
for i in range(len(tangerine)):
cnt_list[tangerine[i]-1] += 1
cnt_list.sort(reverse = True)
print(cnt_list)
while k > 0:
for i in cnt_list:
if k >= i:
k = k - i
print(k)
answer += 1
break
return answer
## ์ ๋ต ํ์ด
def solution(k, tangerine):
cnt_list = [0] * max(tangerine)
answer = 0
for i in range(len(tangerine)):
cnt_list[tangerine[i]-1] += 1
cnt_list.sort(reverse = True)
for i in range(len(cnt_list)):
k = k - cnt_list[i]
if k <= 0:
answer = i + 1
break
return answer
๐ ํ๊ธฐ
์ฒซ ๋ฒ์งธ ํ์ด๋ก ๋ฌธ์ ๋ฅผ ํ ๊ฒฝ์ฐ ์๋ ๋ฐ๋ก์์ ์ค๋ฅ๊ฐ ๋๊ฒ ๋๋ค.

์ฒ์ ํผ ํ์ด์ ๊ฒฝ์ฐ, ๋ฌด์กฐ๊ฑด k๋ณด๋ค ์์ ๊ฐ์ ๊ทค ๊ฐ์๋ก ๋ฃ์ด์ผ ํ๋ค๊ณ ์๊ฐํ๋ค. ๊ทธ๋ฌ๋ k๋ณด๋ค ํฌ๋๋ผ๋ ๋จ์ ๊ทค๋ก ๋ฐ์ค๋ฅผ ์ฑ์ฐ๋ฉด ๋๊ธฐ ๋๋ฌธ์ k์์ ๊ฐ์ ๋บ ํ์๋ก answer์ ์นด์ดํธ ํ ๊ฒ ์๋, cnt_list์ ์ธ๋ฑ์ค ๊ฐ์ผ๋ก ์นด์ดํธ๋ฅผ ํด์ผ ํ๋ค.
'๐ป Coding > [Algorithm]Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค | ๋ฐํํ๋ฉด ์ ๋ฆฌ โญ - Python (0) | 2024.04.06 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค | ๋ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ โญ - Python (1) | 2024.04.04 |
ํ๋ก๊ทธ๋๋จธ์ค | ์ฑ๊ฒฉ ์ ํ ๊ฒ์ฌํ๊ธฐ โญ - Python (0) | 2024.04.02 |
์ํํฐ์ด | ์ฐ๋ฌผ ์ ๊ฐ๊ตฌ๋ฆฌ โญโญโญ - PYTHON (1) | 2024.03.22 |
์ํํฐ์ด | ๊ฐ์์ค ๋ฐฐ์ โญโญโญ - PYTHON (0) | 2024.03.20 |