๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ”„์—” ๊ณต๋ถ€/๐Ÿซง ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Javascript] ์—ฐ์†๋œ ์ˆ˜์˜ ํ•ฉ || ์ฝ”๋”ฉํ…Œ์ŠคํŠธ

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
๋ฐ˜์‘ํ˜•