728x90
function solution(num, total) {
let numSum = 0;
let i = 0;
while (i < num) {
numSum += i;
i++;
}
let result = [];
for (let i = 0; i < num; i++) {
result.push((total - numSum) / num + i)
}
return result;
}
์ฃผ์ด์ง ์ซ์๊ฐ 3 ์ด๋ฉด, x , x +1 , x +2 ๋ฅผ ์ ๋ถ ๋ํด์ total ์ด ๋์์ผ ํ๋ค.
๊ทธ๋์ ๋ณด๋ num ๋ณด๋ค 1 ์์ ์ ๊น์ง ๋ชจ๋ ๋ํ ์๋ฅผ total ์์ ๋จผ์ ๋นผ๊ณ ,
๊ทธ ๋๋จธ์ง๋ฅผ num ์ผ๋ก ๋๋๋ฉด ์ฒซ๋ฒ ์งธ ์๋ฅผ ๊ตฌํ ์ ์๋ค.
์ฒซ๋ฒ์งธ ์๋ฅผ ์์์ผ๋ ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ๋ง ํ๋ฉด ๋๋ค.
๊ทผ๋ฐ push ๋ฅผ ํ๋ ๋ถ๋ถ์ด ๋ง์ ์๋ ๋ค.
๊ฐ๋จํ๊ธฐ ํ์ง๋ง,
let result = new Array(num).fill((total - numSum) / num).map((v, i) => v + i)
์ด๋ ๊ฒ ํ ์ค๋ก ๋ฐฐ์ด์ ๊ฐ๊ณตํ๋ ๋ฒ๋ ์๋ค.
์ฒซ๋ฒ์งธ ์์ ๋ํด์ฃผ๋ ์๊ฐ index ์ ๋์ผํ๋, map ํ ๋ index ์ซ์๋ฅผ ๋ํด์ฃผ๋ฉด ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค.
์ฌ๋ฐ๊ตฌ๋ง,,
728x90
๋ฐ์ํ