코딩테스트/프로그래머스

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

기며니 2021. 4. 23. 08:01
728x90
728x90

✅ 문제 설명

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

🔎 제한 사항

  • absolutes의 길이는 1 이상 1,000 이하입니다.
    • absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.

 

  • signs의 길이는 absolutes의 길이와 같습니다.
    • signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다.

 

 

입출력 예

💡 내 코드

function solution(absolutes, signs) {
    absolutes = absolutes.map(function(val, idx){
        return signs[idx] === true ? val : val*-1; // true면 양수, false면 음수 - 부호 정하기
    });
    return absolutes.reduce((sum, current) => sum + current, 0); // 총 합계 리턴
}

📝 채점 결과

정확성: 100.0

합계: 100.0 / 100.0

🙌 후기

  • map에 대해서 이해했으며 앞으로 여러 문제에서도 적용할 수 있을 것 같다!
    let result = absolutes.reduce((sum, current) => sum + current, 0);
    return result;

처음에 위와 같이 코드를 작성했었는데 생각해보니 바로 리턴 값으로 줄 수도 있었다. 계속해서 짧고 간결한 코드를 위해 노력해야겠다

 

728x90
728x90