[프로그래머스 코딩테스트 연습문제] 최솟값 만들기 | 알고리즘 설명 & 문제 풀이 with 자바스크립트(Javascript)

Re_Go·2023년 12월 11일
0

코딩테스트연습

목록 보기
21/98
post-thumbnail
post-custom-banner

1. 문제 설명

2. 제한 사항

3. 입출력 예

4. 입출력 예 설명

5. 첫번째 문제 풀이(2023-12-12)

이 문제는 오름차순과 내림차순을 이용한 그리디 알고리즘으로 처음 풀어봤는데, 간단히만 이야기 하자면 각 배열들을 각각 오름차순과 내림차순 시킨 후 반복문에서 해당 배열의 같은 위치의 값들을 곱하면 최소값을 구할 수 있는 알고리즘입니다.

참고로 두 배열을 같은 차순으로 정렬할 경우 최대값이 구해지기도 합니다.

function solution(A, B) {
    var answer = 0;
    // A 배열은 오름차순, B 배열은 내림차순으로 정렬
    A.sort((a, b) => a - b); // A는 오름 차순,
    B.sort((a, b) => b - a); // B는  내림 차순으로 정렬하여

    for(let i = 0 ; i < A.length ; i++){
        answer += A[i] * B[i]; // for문을 돌리고 각각의 곲한 값을 answer에 누적 증가 시켜줍니다.
    }
    return answer;
}
profile
인생은 본인의 삶을 곱씹어보는 R과 타인의 삶을 배워 나아가는 L의 연속이다.
post-custom-banner

0개의 댓글