[프로그래머스] 12941 최솟값 만들기 / Java 정답

programmers

쉬운 문제라도 문제를 푸는 방법은 다양합니다.

더 명확하고 깔끔한 문제 해결 방법을 아신다면 자유롭게 말씀해주세요.

프로그래머스 12941 최솟값 만들기

프로그래머스 저작권을 침해하지 않기 위해

문제 보시고 싶으시면 버튼을 눌러주세요.

답변 형식
프로그래머스 12941 자바
프로그래머스 12941 파이썬

배열 A, B 원소를 1번 씩만 사용하여 총 합 answer이 최소가 되는 곱셈 결과를 찾으면 된다.

풀이 조건

결과값이 최소가 되기 위해서 각각의 곱셈 값이 최소가 되어야 했다.

A의 최대와 B의 최소 / A의 최소와 B의 최대를 계산해야 했다.

import java.util.Arrays;

class Solution
{
    public int solution(int[] A, int[] B)
    {
        Arrays.sort(A);
        Arrays.sort(B);
        /// A, B 각각 sort하여 오름차순 정렬

        int answer = 0;
       
        int q = B.length1;
   
        for(int i=0; i<A.length; i++){
            answer += A[i]*B[q–];
            /// A배열을 작은 수부터 큰 수 순서로
            /// B배열을 큰 수부터 작은 수 순서로
            /// 곱해서 return 값에 더 함
        }
        return answer;
    }
}
import java.util.Arrays;

class Solution
{
    public int solution(int[] A, int[] B)
    {
        Arrays.sort(A);
        Arrays.sort(B);
       
        int answer = 0;
       
        int q = B.length1;
       
        for(int i=0; i<A.length; i++){
            answer += A[i]*B[q–];
        }
        return answer;
    }
}

댓글 달기

이메일 주소는 공개되지 않습니다.