문제🔽
https://school.programmers.co.kr/learn/courses/30/lessons/12941
다른사람 풀이 🔽
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)
}
내풀이🔽
function solution(A,B){
var answer = 0;
let array1 = A.sort((a,b)=>{
return a-b;
})
let array2 = B.sort((a,b)=>{
return b-a;
})
A.forEach((value,index)=>{
answer += value*array2[index]
})
return answer;
}
느낀점😮
sort 메소드에 대해 다시금 상기하는 시간을 가질 수 있었다. sort() 메서드의 내림차순, 오름차순은 볼때마다 햇갈린다... 그나마 쉽게 기억할 수 있는 방법을 찾아냈다. sort( (a, b) => {return a-b } ) => 오름차순으로 정렬하는 식인데 => a가 더 작은수 b가 큰 수라 생각하면 a가 먼저오고 그 뒤에 b가 온다, 즉 오름차순이다 이런식으로 생각하면 sort의 오름차순 방법을 더 잘 기억할 수 있다.
한편, 풀이에서 reduce라는 메서드를 생각하지 못한게 조금은 아쉽다. 기왕 이렇게 된 김에 reduce 메서드 한번 더 보자
'Algorithm' 카테고리의 다른 글
프로그래머스 코딩테스트 풀이(js) > 피보나치 수(lv2) (0) | 2023.06.17 |
---|---|
프로그래머스 코딩테스트 풀이(js) > 다음 큰 숫자(lv2) (0) | 2023.06.16 |
프로그래머스 코딩테스트 풀이(js) > 숫자의 표현(lv2) (0) | 2023.06.15 |
프로그래머스 코딩테스트 풀이(js) > JadenCase 문자열 만들기 (lv2) (0) | 2023.06.12 |
프로그래머스 코딩테스트 풀이(js) > 숫자 변환하기 (lv2) (0) | 2023.06.11 |