내일배움캠프 6기 React TIL

songhsb·2023년 5월 24일
0

내일배움캠프

목록 보기
14/106

2023.05.24

음양 더하기

문제

어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.

풀이

absolutes변수를 먼저 음수로 바꿔야 할 것 같아서 구글에 검색해 보았다. Math.abs()함수는 수의 부호를 바꿔준다고 해서 적용해보니 실패했다.

이번에는 불리언 배열 signs가 'false'일 경우에는 '-1'을 곱해 음수로 바꿔보자!

function solution(absolutes, signs) {
    var answer = 0;
    
    // for, if문 사용
    // 1. 정수 부호 바꾸기
    for (var i = 0; i < absolutes.length; i++) {
        if (signs[i] === false) {
            absolutes[i] *= -1; // 음수로 바꾸기
        }
    }
    // 2. 정수 더하기
    for (var i = 0; i < absolutes.length; i++) {
        answer += absolutes[i];
    }
    return answer;
}

입력값 〉 [4, 7, 12], [true, false, true]
기댓값 〉 9
기댓값 〉 9

성공!

Math.abs()

Math.abs()는 배열에는 적용이 불가능 한 것 같다. 기억해 두자!

let x = [1, 2, 3, 4];
let result = Math.abs(x[2]);
console.log(result); // 3

Math.abs() 문서

profile
개발공부!

0개의 댓글