공부/코딩테스트

Q. 음양 더하기

뀨뿌뀨뿌 2023. 6. 16. 13:25

어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.

🚫제한 사항
absolutes의 길이는 1 이상 1,000 이하입니다.
absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.
signs의 길이는 absolutes의 길이와 같습니다.
signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다.

❗입출력 예

number signs result
[4, 7, 12] [true, false, true] 9
[1, 2, 3] [false, fasle, true] 0

😀 내가 푼 답

function solution(absolutes, signs) {
  let answer = 0;
  for (let i = 0; i < absolutes.length; i++) {
    signs[i] ? (answer += absolutes[i]) : (answer -= absolutes[i]);
  }
  return answer;
}

😊 문제풀이 답안 OR 다른사람들 답안

function solution(absolutes, signs) {
    return absolutes.reduce((acc, val, i) => acc + (val * (signs[i] ? 1 : -1)), 0);
}

'공부 > 코딩테스트' 카테고리의 다른 글

Q. 핸드폰 번호 가리기  (0) 2023.06.16
Q. 평균 구하기  (0) 2023.06.16
Q. 없는 숫자 더하기  (1) 2023.06.16
Q. 문자열을 정수로 바꾸기  (0) 2023.06.16
Q. 두 정수 사이의 합  (0) 2023.06.16