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
)
}
'ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค lv.1 ๊ฐ์ด๋ฐ ๊ธ์ ๊ฐ์ ธ์ค๊ธฐ (1) | 2022.11.21 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค lv.1 ์๋ ์ซ์ ๋ํ๊ธฐ (1) | 2022.11.21 |
Programmers Lv.1 : ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ (2) | 2022.11.17 |
Programmers Lv.1 : ๋๋์ด ๋จ์ด์ง๋ ์ซ์ ๋ฐฐ์ด (1) | 2022.11.14 |
Programmers Lv.1 : ํธ๋ํฐ ๋ฒํธ ๊ฐ๋ฆฌ๊ธฐ (2) | 2022.11.14 |
๋๊ธ