프로그래머스_JS - 음양 더하기

nd098pkc·2022년 6월 19일
0

코딩테스트 준비

목록 보기
8/15

2019 카카오 개발자 겨울 인턴십에 출제됐던 문제이며 레벨1로 구분되어있다.

문제

정수들의 절대값과 부호가 따로 주어졌을때 연산을 수행하는 문제이다

풀이과정

<입력>

  1. 정수들의 절대값 "absolutes"(Array)
  2. 정수들의 부호 "signs"(Array)

<reduce와 3항연산자>

우선 결코 어려운 문제가 아니기에 어떻게하면 효율적으로 풀 수 있을지에 집중했었다.
배열의 누적합계 구하는것을 도와주는 method인 reduce와 조건문을 간단하게 표현하게 해주는 3항 연산자를 사용하면 간단하게 풀 수 있는 문제이다.

return absolutes.reduce((acc, val, idx) => acc + (val * (signs[idx] ? 1 : -1)), 0);
                                             //signs의 해당 idx가 true면 그대로, false면 -1을 곱해서 더함

보통 reduce에 acc와 value까지는 필수이니 자주 쓰는데 index까지 사용하는 일은 많지 않았던것 같은데 좋은 시도였던것 같다.

profile
늦게배운 코딩이 무섭다

0개의 댓글