[프로그래머스] 음양더하기 (Java)
class Solution {
public int solution(int[] absolutes, boolean[] signs) {
int answer = 0;
for(int i=0; i < absolutes.length; i++){
if(!signs[i]){
absolutes[i] *= -1;
}
answer += absolutes[i];
}
return answer;
}
}
signs와 absolutes는 길이가 같으며, 순서대로 들어가 있기 때문에 absolutes의 길이만큼 반복하며
음수(signs[i]의 값이 false)일경우 -1을 곱해서 음수로 만들어 더해주고,
양수(signs[i]의 값이 true)일 경우에는 그대로 더해주었다.
여기서 삼항 연산자를 사용할 경우
class Solution {
public int solution(int[] absolutes, boolean[] signs) {
int answer = 0;
for (int i = 0; i < absolutes.length; i++) {
answer += signs[i] ? absolutes[i] : -absolutes[i];
}
return answer;
}
}
코드는 더 간결해 지지만 개인적으로는 if문을 더 좋아해서 if문으로 사용하였다.