Jieunny์ ๋ธ๋ก๊ทธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์ฐ์๋ ์์ ํฉ ๋ณธ๋ฌธ
๐ ๋ฌธ์
์ฐ์๋ ์ธ ๊ฐ์ ์ ์๋ฅผ ๋ํด 12๊ฐ ๋๋ ๊ฒฝ์ฐ๋ 3, 4, 5์ ๋๋ค. ๋ ์ ์ num๊ณผ total์ด ์ฃผ์ด์ง๋๋ค. ์ฐ์๋ ์ num๊ฐ๋ฅผ ๋ํ ๊ฐ์ด total์ด ๋ ๋, ์ ์ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด์ returnํ๋๋ก solutionํจ์๋ฅผ ์์ฑํด๋ณด์ธ์.
์ ํ์ฌํญ
- 1 ≤ num ≤ 100
- 0 ≤ total ≤ 1000
- num๊ฐ์ ์ฐ์๋ ์๋ฅผ ๋ํ์ฌ total์ด ๋ ์ ์๋ ํ ์คํธ ์ผ์ด์ค๋ ์์ต๋๋ค.
๐ก ์์ด๋์ด
num์ด ์ง์๋ฉด, total์ num์ผ๋ก ๋๋ ๊ฐ์ด ์ฐ์๋ ์๋ฅผ ๋ฐ์ผ๋ก ๋๋ ๋ฐ๋ก ์์ ๊ฐ์ด ๋๋ค.
num=6, total=21์ด๋ฉด (1, 2, 3, 4, 5, 6) ์ฌ๊ธฐ์ 3์ด๋๋ ๊ฒ
num์ด ํ์๋ฉด, total์ num์ผ๋ก ๋๋ ๊ฐ(๋๋จธ์ง ๋ฒ๋ฆฌ๊ณ )์ด ์ฐ์๋ ์์ ์ค๊ฐ ๊ฐ์ด ๋๋ค.
์ด๋ฅผ ์ด์ฉํด์ middle์ ๊ตฌํด๋๊ณ , for๋ฌธ์ ์ด๋์๋ถํฐ ์ด๋๊น์ง ๋๋ฆด์ง ์๊ฐํด๋ณธ๋ค.
โ๏ธ ํ์ด
function solution(num, total) {
var answer = [];
if(num % 2 === 0){
let middle = Math.floor(total / num);
let from = middle - (num/2 - 1); // ์ฒซ๋ฒ์งธ ์๋ num์ 2๋ก ๋๋๊ณ , 1์ ๋บ ๊ฐ์ middle์์ ๋บ ๊ฐ
let to = middle + (num/2); // ๋ง์ง๋ง ์๋ middle์ num/2ํ ๊ฐ์ ๋ํ ๊ฐ
for(let i=from; i<=to; i++){
answer.push(i);
}
}
else{
let middle = Math.floor(total / num);
let from = middle - (Math.floor(num/2));
let to = middle + (Math.floor(num/2));
for(let i=from; i<=to; i++){
answer.push(i);
}
}
return answer;
}
'Study > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋คํญ์ ๋ํ๊ธฐ (0) | 2023.02.06 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋ถ์์ ๋ง์ (0) | 2023.02.03 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์์ ์ง๋ (0) | 2023.02.03 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๊ฒน์น๋ ์ ๋ถ์ ๊ธธ์ด (0) | 2023.02.03 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋๋ง์ ์ํธ (0) | 2023.02.02 |