티스토리 뷰
1. 문제
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
제한 사항
- absolutes의 길이는 1 이상 1,000 이하입니다.
- absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.
- signs의 길이는 absolutes의 길이와 같습니다.
- signs [i]가 참이면 absolutes [i]의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다.
입력 출력 예시 |
![]() |
풀어보기
public int solution(int[] absolutes, boolean[] signs) {
int answer = 0;
for (int i =0; i< signs.length;i++){
answer+= (signs[i]?absolutes[i]:(absolutes[i]*-1));
}
return answer;
}
1) 풀이
- signs와 absolutes의 배열의 길이가 같으므로 sign길이만큼 반복한다.
- 삼항 연산자를 통해 sign이 양수이면 그래도 합, 아니면 -1을 곱해 더한다.
마무리
삼항 연산자를 사용하면 확실히 코드가 간결해 지지만, 조건이 길어지면 가독성이 더 떨어지는 것 같다고 느꼈다. 이런 부분을 잘 상황에 따라 써야겠다.
'프로그래머스' 카테고리의 다른 글
[코딩 테스트 연습] 프로그래머스 : 부족한 금액 계산하기 (0) | 2022.05.19 |
---|---|
[코딩 테스트 연습] 프로그래머스 : x 만큼 간격이 있는 n개의 숫자 (0) | 2022.05.19 |
[코딩 테스트 연습] 프로그래머스 : 없는 숫자 더하기 (0) | 2022.05.19 |
[코딩 테스트 연습] 프로그래머스 : 가운데 글자 가져오기 (0) | 2022.05.19 |
[코딩 테스트 연습] 프로그래머스 : 짝수와 홀수 (0) | 2022.05.19 |