[프로그래머스 lev1/JS] 음양 더하기

woolee의 기록보관소·2022년 11월 3일
0

알고리즘 문제풀이

목록 보기
37/178

문제 출처

프로그래머스 lev1 - 음양 더하기

문제

나의 풀이

function solution(absolutes, signs) {
  let sum=0; 
  for (let i=0; i<absolutes.length; i++) {
    if (!signs[i]) {
      absolutes[i] = -absolutes[i];
    }
    sum += absolutes[i];
  }
  return sum;
}

console.log(solution([4, 8, 12], [true, false, true]));

다른 풀이

reduce 메서드

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

console.log(solution([4, 20, 12], [true, false, true]));

삼항연산자

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;
}

console.log(solution([4, 20, 12], [true, false, true]));
profile
https://medium.com/@wooleejaan

0개의 댓글