Algorithm - 음양 더하기

Cho2andy·2022년 5월 13일
0

알고리즘

목록 보기
7/28
post-thumbnail

음양 더하기

<프로그래머스 문제를 기반으로 합니다>

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

absolutes는 원래 정수들의 절댓값이 모인 배열이고
signs는 원해 정수들의 부호를 boolean 값으로 담아놓은 배열이니
두개 잘 조합해서 합 구하는 함수 만들어봐라 ( ̄︶ ̄)↗ 

제한사항

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

문제를 이해했다면 당연한 제한사항들같군요😉

입출력 예

absolutes	signs					result
[4,7,12]	[true,false,true]		9
[1,2,3]		[false,false,true]		0

입출력 예에서 보이다 시피

  • (+4) + ( -7) + (+12) = 9
  • ( -1) + ( -2) + (+3) = 0

이해 되었다 (❁´◡`❁)

그럼 어떻게 풀어야 할까?

  1. signs 값이 true 면 absolutes 값을 answer에 더해주고
  2. signs 값이 false 면 absolutes 값을 answer에서 빼주면
  3. 답이 뙇👍

<풀이 완성 코드>

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

처음엔 signs 값에 따라 -를 곱해주고 막 생각이 많았는데
연산자를 잘 이용하면 되겠다 싶어 편하게 구현했다 😉

profile
먹고 배우는 것엔 아끼지 말자구 ( ̄︶ ̄)↗

0개의 댓글