Level2. 프로그래머스 최솟값 만들기 - JavaScript
접근 A에서 가장 작은 값 B에서 가장 큰 값을 곱하면 최솟값이 만들어진다. 따라서 A를 오름차순으로 정렬 ex) [1,3,5,6,7], B를 내림차순으로 정렬 ex) [9,5,3,2,1] 각 배열에서 원소는 한번만 사용하니까 같은 인덱스끼리 곱하고 이전 값과 더하면서 누적하면 해당 문제의 최솟값을 구할 수 있다. function solution(A,B){ var answer = 0; // 오름차순 A.sort((a,b)=>a-b); //내림차순 B.sort((a,b)=>b-a); // 같은 인덱스의 값 끼리 곱하고 이전 값과 더하여 누적 answer = A.reduce((acc,n,idx)=>{ return acc += n*B[idx]; },0); return answer; }
2020. 7. 7.