Algorithm/프로그래머스

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

skyey94 2021. 7. 10. 01:15

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

 

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

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

programmers.co.kr

 

[문제]

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

 

[제한사항]

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

 

[입출력 예]

 

 


[풀이]

 

 for문의 index가 absolutes와 signs의 같은 위치에 적용이 된다. 그러므로 signs가 true일때는 그냥 더하고, false이면 absolutes에 (-1)을 곱해서 더하면 된다.

 


[코드]

 

class Solution {
    public int solution(int[] absolutes, boolean[] signs) {
        int answer = 0;
        for (int i = 0; i < absolutes.length; i++) {
            if (signs[i] == true) {
                answer += absolutes[i];
            } else {
                answer += absolutes[i] * (-1);
            }
        }
        return answer;
    }
}