๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

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

by Youcodein 2022. 11. 21.
728x90
๋ฐ˜์‘ํ˜•

Programmers Lv.1 : ์ œ์ผ ์ž‘์€ ์ˆ˜ ์ œ๊ฑฐํ•˜๊ธฐ

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

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

๋‚ด ํ’€์ด

function solution(absolutes, signs) {
  for(let i = 0; i<absolutes.length; i++){
      if(signs[i] === false){
          absolutes[i] = -absolutes[i]            
      } else {
          absolutes[i]
      }
  } return absolutes.reduce(function(acc,cur){
      return acc+cur
  })
}

๋ฐฐ์—ด absolutes์˜ index์˜ sign์ด true์ธ์ง€ false์ธ์ง€์— ๋”ฐ๋ผ ์–‘์ˆ˜, ์Œ์ˆ˜๋กœ ๋‚˜๋‰˜๊ธฐ ๋•Œ๋ฌธ์— ์šฐ์„  sign[i]๊ฐ€ true์ธ์ง€ false์ธ์ง€ for ๋ฐ˜๋ณต๋ฌธ๊ณผ if ์กฐ๊ฑด๋ฌธ์„ ํ†ตํ•ด ๊ตฌ๋ถ„ํ•ด ์ฃผ์–ด absolutes์˜ ๊ฐ index๋ฅผ ๋ณ€ํ™˜ํ•ด ์ค€ ๋’ค ์ด ์ •์ˆ˜๋“ค์˜ ํ•ฉ์„ ๊ตฌํ•ด์•ผ ๋˜๊ธฐ ๋•Œ๋ฌธ์— reduce ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด์˜ ๊ฐ index์˜ ํ•ฉ์„ ๊ตฌํ•ด์คฌ๋‹ค.

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


  function solution(absolutes, signs) {
    return absolutes.reduce(
      (acc, val, i) => acc + (val * (signs[i] ? 1 : -1)), 0
    )
  }
728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€