Q. 음양 더하기
A.
class Solution {
public int solution(int[] absolutes, boolean[] signs) {
int answer = 0;
int[] answerArray = new int[absolutes.length];
for(int i=0; i< absolutes.length; i++){
answerArray[i] = absolutes[i] * (signs[i] ? 1 : -1);
}
for(int j : answerArray){
answer += j;
}
return answer;
}
}
생각해보니까 for문을 두번 안쓰고도 풀 수 있었다....?
class Solution {
public int solution(int[] absolutes, boolean[] signs) {
int answer = 0;
//두 배열의 길이가 같다고 했으니까
//i가 0부터 두 배열의 길이까지 1씩 증가하면서 absolutes의 i 값과 signs의 i 값을 곱한다.
//곱하는 이유는? signs가 부호이기 때문에!
//삼항 연산자 사용 (조건) ? 참결과 : 거짓결과
//signs[i] ? 1 : -1 -> signs[i]가 참일때 = 양수일때 1을 곱하고, 거짓일때 = 음수일때 -1을 곱한다.
for(int i=0; i< absolutes.length; i++){
answer += absolutes[i] * (signs[i] ? 1 : -1);
}
return answer;
}
}
'알고리즘, 코딩테스트' 카테고리의 다른 글
[프로그래머스/ 코딩테스트 월간코드챌린지 시즌3] 없는 숫자 더하기 (0) | 2024.11.10 |
---|---|
[프로그래머스/ 코딩테스트 연습문제] 핸드폰 번호 가리기 (0) | 2024.11.06 |
[프로그래머스/ 코딩테스트 연습문제] 나누어 떨어지는 숫자 배열 (0) | 2024.11.05 |
[프로그래머스/ 코딩테스트 연습문제] 서울에서 김서방 찾기 (0) | 2024.11.04 |
[프로그래머스/ 코딩테스트 연습문제] 콜라츠 추측 (0) | 2024.11.04 |