[프로그래머스 Lv2]최솟값 만들기

초록귤·2024년 5월 19일
0

JS코테

목록 보기
9/9

내 코드

function solution(A,B){
    const AA = A.sort((a,b)=> a-b)
    const BB = B.sort((a,b)=> a-b)
    let sum =0;
    const lastIndex = AA.length-1
    
    for(i=0; i<AA.length; i++){
            sum += AA[lastIndex-i] *BB[i] 
    }
    return sum
}

다른 풀이(1)-reduce 메소드 활용하기

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)
}

다른 풀이(2)-pop, shift 메소드 활용

function solution(A, B) {
    var answer = 0,
        length = A.length
    A.sort((a, b) => {
        if (a > b) return 1
        else return -1
    })
    B.sort((a, b) => {
        if (a > b) return 1
        else return -1
    })
    for (let i = 0; i < length; i++) {
        answer += A.pop() * B.shift()
    }
    return answer;
}
내풀이(1)-정렬+인덱스 역으로 곱다른방법(1)-Reduce활용다른방법(2)-pop,shift활용
시간

배운점

메서드를 활용하는게 best다.
최대한 다양한 메서드 공부하고, 바로바로 적용할 수 있도록 복습하자

profile
초록색 귤이 노랑색으로 익어가듯, 실력이 익어가기 위해 노력하는 개발자 lahee입니다.

0개의 댓글