[문제풀기] 음양더하기

yeols·2023년 10월 14일
1

Algorithm

목록 보기
15/16
post-thumbnail

문자열 내 p와 y의 개수

문제 설명

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


입출력 예

absolutessignsresult
[4, 7, 12][true, false, true]9
[1, 2, 3][false, false, true]0

입출력 예 설명

입출력 예 #1

  • signs [true, false, true]이므로, 실제 수들의 값은 각각 4, -7, 12 입니다.
  • 따라서 세 수의 합인 9를 return 해야 합니다.

입출력 예 #2

  • signs [false, false, true] 이므로, 실제 수들의 값은 각각 -1, -2, 3입니다.
  • 따라서 세 수의 합인 0을 return 해야 합니다.

나의 문제 풀이

function solution(absolutes, signs) {
  return absolutes.reduce((acc, cur, index) => {
    return signs[index] ? acc + cur : acc - cur;
  }, 0);
}

문제 풀이 해설

인수 reduce()메서드를 사용하여 풀었으며,
reduce()내부에서는 기본값 0을 갖고 숫자를 return한다.
reduce()의 현재 index로 signs[index]의 요소를 참조해 삼항연산자가
true일때 기본값(acc) + abolutes현재 인덱스의 요소와 + 연산을 하고 false일때 - 연산을 하여
최종 결과를 return 한다.


profile
흠..

0개의 댓글