본문 바로가기
카테고리 없음

[프로그래머스_연습월간 코드 챌린지 시즌2] 음양 더하기

by hmmmm_ 2022. 4. 16.

[문제 바로가기] 

음양 더하기

 

[ 문제 파악 ]

2개의 배열이 따로 가지고 있는 데이터를 조합해서 합한 값 출력하기!

 

[ 적용한 풀이 ]

1. absolutes란 배열이 숫자들을 가지고 있고, signs가 음양에 대한 정보를 가지고 있었다.

2. 둘 다 같은 길이의 배열을 가지고 있어서 map으로 참/거짓만 구분하면 되는 sign을 숫자에 맞게 맵핑했다.

3. 맵핑한 데이터를 reduce 메소드로 합산을 했다.

function solution(absolutes, signs) {
    let answer = signs.map((sign, idx) => {
        return sign ? absolutes[idx] : -absolutes[idx]
    }).reduce((a, b) => a + b, 0)
    
    return answer;
}

 

[해결 과정 중 실수한 부분 / 잡담]

reduce를 잘 알아봐야겠다.

사실 합산할 때 빼고는 아직 이해를 잘 못했다.

reduce 파라미터 2개만 이용하는 법만 익혔는데 

이름모를 고수는 3개를 가지고와서 풀더라 ㄷㄷ

 

[남의 풀이]

가장 좋아요가 많은 풀이를 가지고 와서 속도를 비교해보았다.

남의 풀이가 속도가 거의 균일하고 더 빨랐다.

내것과 비교했을때도 reduce로만 한 것이 더 빠름

[관련 문제 혹은 비슷한 문제]

댓글