Javascript

[프로그래머스 Level1] 음양 더하기 - 나의 코드, 우수코드(Javascript)

728x90
반응형

🚨문제

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

 

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

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

programmers.co.kr

 

🔅예제 이해

true, false여부에 따라 증가, 감소시킨다.

 

 

☺️나의 코드

reduce()

function solution(absolutes, signs) {
    var answer = absolutes.reduce((a,cur,i) => {
        if(signs[i] === true){
            return a + cur;
        }else{
            return a - cur
        }
    }, 0)
    return answer;
}

 

 

❗️ 풀이 순서

증감, 감소에 대한 문제이기에 reduce를 사용한다.

index는 absolutes와 sings가 같기에 reduce 세 번째 인자 i를 이용해서 true인지 확인한다.

그에 따라 증가, 감소한다.

 

 

 


👍우수 코드

프로그래머스에서 제공하는 다른 사람들의 코드 중 좋아요가 가장 높은 코드

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

 

 

❤️배운 점

나랑 비슷한 코드이지만, 삼항 연산자를 -1,1로 사용해서 더 깔끔하게 적을 수도 있다는 걸 배웠다.
728x90
반응형