-
프로그래머스 음양 더하기코딩테스트 문제 2023. 11. 20. 10:31
문제 설명
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
쉽게 말해서 절댓값을 모은 정수 배열 absolutes와 그 absolutes배열의 순서대로 부호를 담은 signs배열을 사용해 새로운 배열 요소들의 총 합을 구하는 문제이다.
처음보자마자 어떻게 풀어야 할지 답이 나온 문제지만, 구현까지는 생각보다 시간이 들어갔다. 마지막에 내가 속시원하게 풀었다고 생각한 풀이는 삼항 연산자를 사용한 풀이였다.
삼항연산자는 피연산자를 3개를 가지는 조건연산자인데, 말로 설명하면 어려우니 아래 문법을 보도록 하자.
// 삼항연산자 조건문 ? true일때 반환 : false일때 반환 ;
삼항 연산자를 사용하여 이 문제를 푼다고하면,
조건문에 signs배열의 요소를 넣고 true면 absolutes값을 변경하지않고, false면 absolutes값에 -1을 곱하는 방법을 생각할 수 있었다.
아래는 제출한 코드이다.
class Solution { public int solution(int[] absolutes, boolean[] signs) { int answer = 0; for (int i = 0; i < signs.length; i++){ absolutes[i] = signs[i] ? absolutes[i] : -1 * absolutes[i]; answer += absolutes[i]; } return answer; } }
'코딩테스트 문제' 카테고리의 다른 글
(프로그래머스/자바) 전력망을 둘로 나누기 (1) 2024.03.14 프로그래머스) 피로도 (0) 2024.02.23 프로그래머스) 숫자 변환하기 (0) 2024.02.23 프로그래머스 없는 숫자 더하기 (1) 2023.11.21 프로그래머스 핸드폰 번호 가리기 (0) 2023.11.20