๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 1๋‹จ๊ณ„ : ์Œ์–‘ ๋”ํ•˜๊ธฐ

by _ํ† ๋งคํ†  2022. 11. 15.
728x90

๐Ÿ–ฑ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 1๋‹จ๊ณ„ : ์Œ์–‘ ๋”ํ•˜๊ธฐ ๐Ÿ–ฑ


๐Ÿ“– ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“–

์ •์ˆ˜๋“ค์˜ ์ ˆ๋Œ“๊ฐ’์„ ์ฐจ๋ก€๋Œ€๋กœ ๋‹ด์€ ์ •์ˆ˜ ๋ฐฐ์—ด absolutes์™€ ์ด ์ •์ˆ˜๋“ค์˜ ๋ถ€ํ˜ธ๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ๋‹ด์€ ๋ถˆ๋ฆฌ์–ธ ๋ฐฐ์—ด signs๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์‹ค์ œ ์ •์ˆ˜๋“ค์˜ ํ•ฉ์„ ๊ตฌํ•˜์—ฌ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

๐Ÿงธ ์ œํ•œ ์‚ฌํ•ญ ๐Ÿงธ

absolutes์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 1,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค. absolutes์˜ ๋ชจ๋“  ์ˆ˜๋Š” ๊ฐ๊ฐ 1 ์ด์ƒ 1,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
signs์˜ ๊ธธ์ด๋Š” absolutes์˜ ๊ธธ์ด์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. signs[i] ๊ฐ€ ์ฐธ์ด๋ฉด absolutes[i] ์˜ ์‹ค์ œ ์ •์ˆ˜๊ฐ€ ์–‘์ˆ˜์ž„์„, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์Œ์ˆ˜์ž„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

function solution(absolutes, signs) {
    let answer = 0;
    for(let i=0; i<absolutes.length; i++){
        signs[i]?answer+=absolutes[i] : answer-=absolutes[i]
    }
    return answer;
}

// ์ž…๋ ฅ๊ฐ’ : [4,7,12]    [true,false,true]์ผ ๊ฒฝ์šฐ 9๋ฅผ ๋ฐ˜ํ™˜.

๐Ÿงธ ๋ฌธ์ œ ํ’€์ด ๐Ÿงธ

๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด ์ˆซ์ž ๋ฐฐ์—ด์˜ ๊ธธ์ด ๋งŒํผ ๋ฐ˜๋ณต ์‹œ์ผœ์ค๋‹ˆ๋‹ค. ๊ทธ ํ›„ ์ฐธ๊ฑฐ์ง“ ๊ฐ’์ด ๋“ค์–ด๊ฐ„ ๋ฐฐ์—ด์šธ ์ด์šฉํ•˜์—ฌ ์กฐ๊ฑด ์‚ผํ•ญ๋ฌธ์„ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๊ฐ’์ด true๋ผ๋ฉด +๋ฅผ ์•„๋‹ˆ๋ผ๋ฉด -๋ฅผ ํ•ด์ฃผ์–ด์„œ ์ด ๊ฐ’์„ ๋ฐ˜ํ™˜์‹œํ‚ต๋‹ˆ๋‹ค.


๐Ÿงธ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด ๐Ÿงธ

function solution(absolutes, signs) {

    return absolutes.reduce((acc, val, i) => acc + (val * (signs[i] ? 1 : -1)), 0);
}

reduce ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ํ•œ ๋ฒˆ์— ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค..!
reduce() : ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ๋กœ acc๋Š” ์ฝœ๋ฐฑ์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ๋ˆ„์ ํ•˜๊ณ  val์€ ํ˜„์žฌ ๊ฐ’, i๋Š” ํ˜„์žฌ ์ธ๋ฑ์Šค๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค.

728x90

๋Œ“๊ธ€


Lucky Charms Rainbow
js
html
css