Coding Test/JavaScript
[Javascript] (프로그래머스) 최솟값 구하기 (level 2)
Chaedie
2022. 9. 27. 10:16
728x90
[Javascript] (프로그래머스) 최솟값 구하기 (level 2)
💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.
내 풀이
function solution(A,B){
A.sort((x,y) => y - x);
B.sort((x,y) => x - y);
let minMultiple = 0;
A.forEach((a, i) => minMultiple += A[i] * B[i]);
return minMultiple
}
- 어떻게 해야 최솟값이 나올지 모르겠어서 설마 모든 경우의 수 다 돌리는건가? 생각을 했습니다.
- 역시나 수학적 해결방법이 있었습니다. ㅎㅎ 부족한 모습이 아쉽지만 하나씩 알아가는거겠죠? ㅎㅎ
- 최솟값과 최댓값을 곱하는 식으로 해서 곱해지는 숫자의 평균이 가장 낮은 것이 결과값이 가장 적게 나온다고 하네요.
- 그래서 A배열과 B배열을 다른 순서로 소팅하고, 각각 곱해서 더해줬습니다.
다른 사람 풀이 참고한 풀이
function solution(A,B){
A.sort((x,y) => y - x);
B.sort((x,y) => x - y);
return A.reduce((acc, _, i) => acc += A[i] * B[i], 0)
}
배운 점, 느낀 점
- Reduce를 배열 합계 구할 때만 써보고, 언젠가 공부해야지… 했는데 드디어 다시 써봤네요.. ㅎㅎ
- 비슷하게 사용해서 조금 아쉽지만,,, 이렇게도 쓸 수 있구나 정도는 경험해서 좋았습니다!