IT/Algorithm

프로그래머스) 음양 더하기

프티 2021. 7. 5. 19:40
반응형

https://programmers.co.kr/learn/courses/30/lessons/76501

 

코딩테스트 연습 - 음양 더하기

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

programmers.co.kr

 

풀이

reduce 메소드를 활용하였고,

삼항 연산자로 signs의 값에 따라 부호를 부여하였다.

 

그리고 answer에 덧셈 누산을 시켜 값을 반환하였다.

function solution(absolutes, signs) {
    var answer = 0;
    
    absolutes.reduce((acc,cv,idx) => {
        cv = signs[idx] === true ? cv:-1*cv;
        return answer = acc + cv;
    },0);
    
    return answer;
}

 

다른 사람 풀이

function solution(absolutes, signs) {

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

삼항 연산자를 활용하는 것은 같으나 이분은 변수를 지정하지 않고 바로 값으로 나타내어 간결한 코드를 작성하셨다.

 

나도 삼항 연산자를 꼭 정의하여 사용하는 것이 아님을 의식적으로 떠올려서 간결성을 높여야겠다고 생각했다.

반응형