본문 바로가기
Algorithm/문제풀이

[Codility] MaxProductOfThree(Easy) by javascript - AVAILABLE LESSONS 6

by 썸머워즈 2022. 4. 15.
반응형

▷ 문제 : AVAILABLE LESSONS 6 - MaxProductOfThree(Easy)

 

MaxProductOfThree coding task - Learn to Code - Codility

Maximize A[P] * A[Q] * A[R] for any triplet (P, Q, R).

app.codility.com

▷ 해결 날짜 : 2022.04.15
▷ 소요 시간 : 10분
▷ 풀이 과정 :

배열 안의 숫자중에 3개씩 곱해서 나오는 가장 큰 값을 출력하면 되는 문제이다.

음수가 없으면 한줄이면 충분한데 음수가 포함되어있어 음수의 경우와 양수의 경우를 구해 최대값을 구해주는 방식으로 풀었다.

 

▷ 구현

function solution(A) {
    A.sort((a, b) => a - b);
    let m = A.slice(-3).reduce((a, c) => a * c);
    let n = [...A.slice(0, 2), A[A.length - 1]].reduce((a, c) => a * c);
    return Math.max(m, n);
}


▷ 복기 :

너무 배열 메서드를 사용해서 푸나 싶기도 하다 그래도 효율성은 통과했으니 뭐...은근 이지난이도인데 생각을 하게 만드는 코딜리티

반응형


댓글

TOP