본문 바로가기

프로그래머스/구현

[배열] 프로그래머스 '최솟값 만들기' - js

반응형

1. 문제

https://school.programmers.co.kr/learn/courses/30/lessons/12941

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

2. 코드

function solution(A,B){
    let ans = 0;
    // 가장 작은 값과 가장 큰 값을 곱해나가면 최솟값이 되므로
    // 하나는 오름차순, 하나는 내림차순 정렬
    A = A.sort((a,b) => a-b);
    B = B.sort((a,b) => b-a);
    
    for (let i=0;i<A.length;i++) ans += A[i] * B[i];
    
    return ans;
}

 

다른 사람의 풀이)

function solution(A,B){
    A.sort((a, b) => a - b)
    B.sort((a, b) => b - a)
    
    // reduce 사용
    return A.reduce((acc, cur, i) => acc += cur * B[i], 0)
}

 

반응형