ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์์ฐ
์ฝ๋ฉํ ์คํธ ์ฐ์ต > Summer/Winter Coding(~2018) > ์์ฐ
๐ฉ ๋ฌธ์ ์ค๋ช
S์ฌ์์๋ ๊ฐ ๋ถ์์ ํ์ํ ๋ฌผํ์ ์ง์ํด ์ฃผ๊ธฐ ์ํด ๋ถ์๋ณ๋ก ๋ฌผํ์ ๊ตฌ๋งคํ๋๋ฐ ํ์ํ ๊ธ์ก์ ์กฐ์ฌํ์ต๋๋ค. ๊ทธ๋ฌ๋, ์ ์ฒด ์์ฐ์ด ์ ํด์ ธ ์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๋ถ์์ ๋ฌผํ์ ๊ตฌ๋งคํด ์ค ์๋ ์์ต๋๋ค. ๊ทธ๋์ ์ต๋ํ ๋ง์ ๋ถ์์ ๋ฌผํ์ ๊ตฌ๋งคํด ์ค ์ ์๋๋ก ํ๋ ค๊ณ ํฉ๋๋ค.
๋ฌผํ์ ๊ตฌ๋งคํด ์ค ๋๋ ๊ฐ ๋ถ์๊ฐ ์ ์ฒญํ ๊ธ์ก๋งํผ์ ๋ชจ๋ ์ง์ํด ์ค์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด 1,000์์ ์ ์ฒญํ ๋ถ์์๋ ์ ํํ 1,000์์ ์ง์ํด์ผ ํ๋ฉฐ, 1,000์๋ณด๋ค ์ ์ ๊ธ์ก์ ์ง์ํด ์ค ์๋ ์์ต๋๋ค.
๋ถ์๋ณ๋ก ์ ์ฒญํ ๊ธ์ก์ด ๋ค์ด์๋ ๋ฐฐ์ด d์ ์์ฐ budget์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ต๋ ๋ช ๊ฐ์ ๋ถ์์ ๋ฌผํ์ ์ง์ํ ์ ์๋์ง return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ฉ ์ ํ ์กฐ๊ฑด
โ๏ธ d๋ ๋ถ์๋ณ๋ก ์ ์ฒญํ ๊ธ์ก์ด ๋ค์ด์๋ ๋ฐฐ์ด์ด๋ฉฐ, ๊ธธ์ด(์ ์ฒด ๋ถ์์ ๊ฐ์)๋ 1 ์ด์ 100 ์ดํ์
๋๋ค.
โ d์ ๊ฐ ์์๋ ๋ถ์๋ณ๋ก ์ ์ฒญํ ๊ธ์ก์ ๋ํ๋ด๋ฉฐ, ๋ถ์๋ณ ์ ์ฒญ ๊ธ์ก์ 1 ์ด์ 100,000 ์ดํ์ ์์ฐ์์
๋๋ค.
๐ budget์ ์์ฐ์ ๋ํ๋ด๋ฉฐ, 1 ์ด์ 10,000,000 ์ดํ์ ์์ฐ์์
๋๋ค.
๐ฉ ๋ฌธ์ ํ์ด
function solution(d, budget) {
d.sort((a, b) => a - b);
for(i=0; i<d.length; i++){
if(budget < d[i]) { break; }
budget -= d[i];
}
return i;
}
์ ์ฒญ ๊ธ์ก์ ์์ ์์๋ก ๋จผ์ ์ ๋ ฌํด์ฃผ๊ณ , for๋ฌธ์ ์ฌ์ฉํ์ฌ ๊ธ์ก์ ํ๋์ฉ ์์ฐ์์ ๋นผ ์ฃผ์์ต๋๋ค.
๐ฉ ๋ค๋ฅธ ํ์ด
function solution(d, budget) {
d.sort((a, b) => a - b);
while (d.reduce((a, b) => (a + b), 0) > budget) d.pop();
return d.length;
}
๋ค๋ฅธ ํ์ด๋ค์ด ๋ค ํํฉ์ฐฌ๋ํด์ ์ ๊ฐ ์ดํดํ ์ ์๋ ํ์ด๊ฐ ์ด๊ฒ ๋ฐ์ ์๋ค์... ์์ฐ์ ๋์ง ์๋ ํ๊น์ง d ๋ด์ ๋ชจ๋ ์์๋ค์ ๋ํด์ฃผ๊ณ , ์์ฐ์ ๋์ผ๋ฉด ์์๋ฅผ ์ ๊ฑฐํ์ฌ ์ต์ข ์ ์ธ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ฐํํ์์ต๋๋ค.
'Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค 2๋จ๊ณ : ์ต์๊ฐ ๋ง๋ค๊ธฐ (5) | 2022.12.05 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ํฐ์ผ๋ชฌ (3) | 2022.12.05 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ํ๋ฒ๊ฑฐ ๋ง๋ค๊ธฐ (4) | 2022.12.01 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์์ ์ํธ (3) | 2022.12.01 |
ํ๋ก๊ทธ๋๋จธ์ค 2๋จ๊ณ : JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ (2) | 2022.11.29 |
๋๊ธ