티스토리 뷰

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을 곱해 더한다.

 


 

마무리

삼항 연산자를 사용하면 확실히 코드가 간결해 지지만, 조건이 길어지면 가독성이 더 떨어지는 것 같다고 느꼈다. 이런 부분을 잘 상황에 따라 써야겠다.

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함