프로그래머스 - 최솟값 만들기
문제 : 최솟값 만들기
기본적인 내용
서로 같은크기의 배열이 있을때 배열마다의 값을 서로 곱하고 더했을때 최솟값 찾기
=> 그냥 서로 가장 작은 값이랑 서로 가장 큰 값을 차근차근 더한게 최솟값이 되겠지
내가 작성한 코드
function solution(A,B){
let answer = 0;
A.sort((a,b)=>a-b);
B.sort((a,b)=>b-a);
for( let i=0;i<A.length;i++)
{
answer=answer + A[i]*B[i];
}
return answer
}
문제없이 맞췄다.
다른 사람 코드
function solution(A,B){
A.sort((a, b) => a - b)
B.sort((a, b) => b - a)
return A.reduce((total, val, idx) => total + val * B[idx], 0)
}
모든 배열을 돌면서 필요한 값들을 증가시키므로 reduce 함수를 이용할만 하고 필요에따라 같은 index를 사용하는
B[idx]
를 통해A[i]*B[i]
를val * B[idx]
로 만들어준다.
Author And Source
이 문제에 관하여(프로그래머스 - 최솟값 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@khw970421/프로그래머스-최솟값-만들기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)