[Lv.1] 음양 더하기

01수정·2023년 11월 12일
0
post-custom-banner

문제


풀이

  • 1차 풀이
function solution(absolutes, signs) {
    let nums = [];
    absolutes.forEach((abs, idx) => {
        let num = signs[idx] ? abs : -abs;
        nums.push(num)
    });
    
    return nums.reduce((acc, num) => {
        acc += num;
        return acc;
    }, 0)
}
  • 2차 풀이 : 1차풀이의 두 과정을 하나로 합쳤다. 소모시간이 절반 가량 줄었다!
function solution(absolutes, signs) {
	return absolutes.reduce((acc, num, idx) => {
        acc += (signs[idx] ? num : -num)
        return acc;
    }, 0)
}

다른 풀이

function solution(absolutes, signs) {

    return absolutes.reduce((acc, val, i) => acc + (val * (signs[i] ? 1 : -1)), 0);
}
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;
}
profile
새싹 FE 개발자
post-custom-banner

0개의 댓글