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를 배열 합계 구할 때만 써보고, 언젠가 공부해야지… 했는데 드디어 다시 써봤네요.. ㅎㅎ
- 비슷하게 사용해서 조금 아쉽지만,,, 이렇게도 쓸 수 있구나 정도는 경험해서 좋았습니다!
'Coding Test > JavaScript' 카테고리의 다른 글
[Javascript] **(프로그래머스 level 0) 짝수는 싫어요** (0) | 2022.10.07 |
---|---|
[Javascript] (프로그래머스 level 2) 카펫 (0) | 2022.09.30 |
[Javascript] (프로그래머스 level 2) 올바른 괄호 (1) | 2022.09.29 |
[Javascript] (프로그래머스) 짝지어 제거하기 (level 2) (0) | 2022.09.28 |
코드카타 못 푼 문제 (재귀 함수) (최단 경로?) (0) | 2022.08.18 |
[Javascript] (프로그래머스 level 2) 피보나치 수 (0) | 2022.08.15 |
[Javascript] (백준 11170) 0의 개수 (0) | 2022.07.09 |
[Javascript] (백준 1969) DNA (0) | 2022.07.09 |
댓글