๋ฌธ์ ๋ด์ฉ
ํ์ด๐๐ปโ๏ธ
function solution(d, budget) {
let result = 0;
d.sort((a, b) => a - b).reduce((acc, cur) => {
if (budget >= acc + cur) {
result++;
}
return acc + cur;
}, 0);
return result;
}
function solution(d, budget) {
let result = 0;
let sumEach = 0;
d.sort((a, b) => a - b);
for (i = 0; i < d.length; i++) {
sumEach += d[i];
if (budget >= sumEach) {
result++;
}
}
return result;
}
/*
(ํ์ด)
1. ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ์ ํด์ฃผ๊ณ reduce๋ฉ์๋๋ฅผ ๋์ ๊ฐ์ ํ์ฌ๊ฐ์ ๋ํ๋ ๋์ค if๋ฌธ์ผ๋ก budget ๋ณด๋ค
๋์ ๊ฐ + ํ์ฌ๊ฐ ์ด ์์๊ฒฝ์ฐ result ๋ฅผ 1๊ฐ์ฉ ์นด์ดํธ ํด์คฌ๋ค.
2. result ์ ๊ฐ ํฉ์ฐ๊ฐ์ ๋ณ์ sumEach๋ฅผ ๋ง๋ค์ด์ฃผ๊ณ (๋ณ์์ด๋ฆ์ด ์ ์ ์น ์์๊ฑฐ ๊ฐ์๋ฐ.. ๋ ์ค๋ฅด๋ ์ด๋ฆ์ด ์์ต๋๋คใ
ใ
)
๋ฐฐ์ด ์ค๋ฆ์ฐจ์ ์ ๋ ฌ ํ for๋ฌธ์ผ๋ก ์์๊ฐ๋ถํฐ sumEach์ ๊ฐ์ ๋์
ํด์ฃผ๊ณ budget๋ณด๋ค ์ ์ ๊ฒฝ์ฐ์๋ง result++; ํด์ค๋ค.
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ด ๋ญ ํ๊ณ ์ ํ๋์ง๋ ์๊ฒ ๋๋ฐ.. ์ฝ๋๋ก ๋์
ํ๋ คํ๋ฉด ์ดํด๊ฐ์๊ฐ๋ค.. @_@
*/
- ๋ฌธ์ ๊ฐ ์ด๋ ค์ธ์๋ก ๊ฐ๋ ์ฑ์ด๋ ํจ์จ์ ๋ํด ์๊ฐํ๋๊ฒ ํ๋ค์ด์ง๋ค๐ค
ํ๋ฆฌ๋๋ ํผ๋๋ฐฑ
reduce
function solution(d, budget) {
let result = 0;
d.sort((a, b) => a - b).reduce((acc, cur) => {
acc += cur
if (acc <= budget) result++;
return acc;
}, 0);
return result;
}
- reduce๋ฅผ ์ด์ฉํ ์ฒซ๋ฒ์งธ ํ์ด์ธ๋ฐ ์ ํํ๊ฒ reduce๊ฐ ์ด๋ป๊ฒ ๋์๊ฐ๋์ง ์์ง ๋ชปํ๋ ๋ฐ๋์ ์กฐ๊ธ ํค๋งธ์๋ค.
- += ์ฐ์ฐ์๋ฅผ ์ด์ฉํด์ ๋ ๊น๋ํ๊ฒ ๋ณ๊ฒฝํ ์ ์๋ค.
for
function solution(d, budget) {
let result = 0;
let sum = 0;
d.sort((a, b) => a - b);
for (let i = 0; i < d.length; i++) {
sum += d[i];
if (budget < sum) return result;
result++;
}
return result;
}
- ๋ฌธ๋จ๋ง๋ค ์ค๋ฐ๊ฟ ํด์ฃผ๋๊ฒ ํจ์ฌ ๊น๋ํ๋ค. (๋ณ์์ ์ธ๋ฌธ๋จ, for๋ฌธ, return๋ฌธ๋จ ๋ฑ)
- for๋ฌธ ์ฌ์ฉ ์ i์ let ์ถ๊ฐํด์ ์ค์ฝํ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๋๊ฑฐ ์์ง๋ง๊ธฐ.
- if๋ฌธ์ผ๋ก sum์ด ๋ ๊ฑฐ์น๋ฉด return์ ์ด์ฉํด ๋ฐ๋ก ๋ฐ๋ณต๋ฌธ์ ์ข ๋ฃํด์ ํจ์จ๊น์ง ์ฑ๊ฒจ์ฃผ๊ธฐ.
'์๊ณ ๋ฆฌ์ฆ & ๋ฌธ์ ํ์ด > Programmers-1' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์์ ์ํธ (0) | 2022.09.06 |
---|---|
๋ฌธ์์ด ๋ค๋ฃจ๊ธฐ ๊ธฐ๋ณธ (0) | 2022.09.05 |
๋๋์ด ๋จ์ด์ง๋ ์ซ์ ๋ฐฐ์ด (0) | 2022.09.03 |
๋ ์ ์ ์ฌ์ด์ ํฉ (0) | 2022.09.01 |
๋ถ์กฑํ ๊ธ์ก ๊ณ์ฐํ๊ธฐ (0) | 2022.09.01 |