๋ฌธ์ ์ค๋ช
https://school.programmers.co.kr/learn/courses/30/lessons/12982
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
S์ฌ์์๋ ๊ฐ ๋ถ์์ ํ์ํ ๋ฌผํ์ ์ง์ํด ์ฃผ๊ธฐ ์ํด ๋ถ์๋ณ๋ก ๋ฌผํ์ ๊ตฌ๋งคํ๋๋ฐ ํ์ํ ๊ธ์ก์ ์กฐ์ฌํ์ต๋๋ค. ๊ทธ๋ฌ๋, ์ ์ฒด ์์ฐ์ด ์ ํด์ ธ ์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๋ถ์์ ๋ฌผํ์ ๊ตฌ๋งคํด ์ค ์๋ ์์ต๋๋ค. ๊ทธ๋์ ์ต๋ํ ๋ง์ ๋ถ์์ ๋ฌผํ์ ๊ตฌ๋งคํด ์ค ์ ์๋๋ก ํ๋ ค๊ณ ํฉ๋๋ค.
๋ฌผํ์ ๊ตฌ๋งคํด ์ค ๋๋ ๊ฐ ๋ถ์๊ฐ ์ ์ฒญํ ๊ธ์ก๋งํผ์ ๋ชจ๋ ์ง์ํด ์ค์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด 1,000์์ ์ ์ฒญํ ๋ถ์์๋ ์ ํํ 1,000์์ ์ง์ํด์ผ ํ๋ฉฐ, 1,000์๋ณด๋ค ์ ์ ๊ธ์ก์ ์ง์ํด ์ค ์๋ ์์ต๋๋ค.
๋ถ์๋ณ๋ก ์ ์ฒญํ ๊ธ์ก์ด ๋ค์ด์๋ ๋ฐฐ์ด d์ ์์ฐ budget์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ต๋ ๋ช ๊ฐ์ ๋ถ์์ ๋ฌผํ์ ์ง์ํ ์ ์๋์ง return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ ํ ์ฌํญ
- d๋ ๋ถ์๋ณ๋ก ์ ์ฒญํ ๊ธ์ก์ด ๋ค์ด์๋ ๋ฐฐ์ด์ด๋ฉฐ, ๊ธธ์ด(์ ์ฒด ๋ถ์์ ๊ฐ์)๋ 1 ์ด์ 100 ์ดํ์ ๋๋ค.
- d์ ๊ฐ ์์๋ ๋ถ์๋ณ๋ก ์ ์ฒญํ ๊ธ์ก์ ๋ํ๋ด๋ฉฐ, ๋ถ์๋ณ ์ ์ฒญ ๊ธ์ก์ 1 ์ด์ 100,000 ์ดํ์ ์์ฐ์์ ๋๋ค.
- budget์ ์์ฐ์ ๋ํ๋ด๋ฉฐ, 1 ์ด์ 10,000,000 ์ดํ์ ์์ฐ์์ ๋๋ค.
์ ์ถ๋ ฅ ์
d | budget | result |
[1, 3, 2, 5, 4] | 9 | 3 |
[2, 2, 3, 3] | 10 | 4 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ๊ฐ ๋ถ์์์ [1์, 3์, 2์, 5์, 4์]๋งํผ์ ๊ธ์ก์ ์ ์ฒญํ์ต๋๋ค. ๋ง์ฝ์, 1์, 2์, 4์์ ์ ์ฒญํ ๋ถ์์ ๋ฌผํ์ ๊ตฌ๋งคํด ์ฃผ๋ฉด ์์ฐ 9์์์ 7์์ด ์๋น๋์ด 2์์ด ๋จ์ต๋๋ค.
- ํญ์ ์ ํํ ์ ์ฒญํ ๊ธ์ก๋งํผ ์ง์ํด ์ค์ผ ํ๋ฏ๋ก ๋จ์ 2์์ผ๋ก ๋๋จธ์ง ๋ถ์๋ฅผ ์ง์ํด ์ฃผ์ง ์์ต๋๋ค. ์ ๋ฐฉ๋ฒ ์ธ์ 3๊ฐ ๋ถ์๋ฅผ ์ง์ํด ์ค ๋ฐฉ๋ฒ๋ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- 1์, 2์, 3์์ ์ ์ฒญํ ๋ถ์์ ๋ฌผํ์ ๊ตฌ๋งคํด ์ฃผ๋ ค๋ฉด 6์์ด ํ์ํฉ๋๋ค.
- 1์, 2์, 5์์ ์ ์ฒญํ ๋ถ์์ ๋ฌผํ์ ๊ตฌ๋งคํด์ฃผ๋ ค๋ฉด 8์์ด ํ์ํฉ๋๋ค.
- 1์, 3์, 4์์ ์ ์ฒญํ ๋ถ์์ ๋ฌผํ์ ๊ตฌ๋งคํด์ฃผ๋ ค๋ฉด 8์์ด ํ์ํฉ๋๋ค.
- 1์, 3์, 5์์ ์ ์ฒญํ ๋ถ์์ ๋ฌผํ์ ๊ตฌ๋งคํด์ฃผ๋ ค๋ฉด 9์์ด ํ์ํฉ๋๋ค.
- 3๊ฐ ๋ถ์๋ณด๋ค ๋ ๋ง์ ๋ถ์์ ๋ฌผํ์ ๊ตฌ๋งคํด ์ค ์๋ ์์ผ๋ฏ๋ก ์ต๋ 3๊ฐ ๋ถ์์ ๋ฌผํ์ ๊ตฌ๋งคํด ์ค ์ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์ #2
- ๋ชจ๋ ๋ถ์์ ๋ฌผํ์ ๊ตฌ๋งคํด ์ฃผ๋ฉด 10์์ด ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ต๋ 4๊ฐ ๋ถ์์ ๋ฌผํ์ ๊ตฌ๋งคํด ์ค ์ ์์ต๋๋ค.
๋ด๊ฐ ์์ฑํ ์ฝ๋
import java.util.*;
class Solution {
public int solution(int[] d, int budget) {
int answer = 0;
// ๋ฐฐ์ด d ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
Arrays.sort(d);
// ๋ฐ๋ณต๋ฌธ ํ์ฉ
for (int i = 0; i < d.length; i++) {
// ๋ง์ฝ budget์ด d์ i๋ฒ์งธ ๊ฐ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ๊ฒฝ์ฐ
if (budget >= d[i]) {
// d[i] ๊ฐ ๋นผ๊ธฐ
budget -= d[i];
// answer +1
answer++;
}
}
// answer ๋ฐํ
return answer;
}
}
๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด ์๊ฐํ ๋ฐฉํฅ
- ์์ ์๋ถํฐ ํ๋์ฉ budget์์ ๋นผ๋ฉด ๋์ง ์์๊น
- ๊ทธ๋ ๋ค๋ฉด ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ ํ๋์ฉ ๊ณ์ฐํด์ผ๊ฒ ์ง?!
- ์์๊ฐ ๋๊ธฐ ์ ๊น์ง๋ง ๋ฐ๋ณตํ๋ฉด ๋ผ.
'๐งฉ ํ๋ก๊ทธ๋๋จธ์ค > ๐ต ์๊ณ ๋ฆฌ์ฆ ํ์ด(Java)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ ํ๋ก๊ทธ๋๋จธ์ค/Java ] ๊ฐ์ฅ ํฐ ์ (0) | 2025.04.01 |
---|---|
[ ํ๋ก๊ทธ๋๋จธ์ค/Java ] ๊ธฐ๋ฅ๊ฐ๋ฐ (1) | 2025.03.29 |
[ ํ๋ก๊ทธ๋๋จธ์ค/Java ] ๊ฐ์ ์ซ์๋ ์ซ์ด (1) | 2025.03.27 |
[ ํ๋ก๊ทธ๋๋จธ์ค/Java ] JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ (0) | 2025.03.27 |
[ ํ๋ก๊ทธ๋๋จธ์ค/Java ] ์ต์๊ฐ ๋ง๋ค๊ธฐ (1) | 2025.03.26 |