Java/알고리즘

최솟값만들기

티코딩 2024. 2. 13. 14:45

A와 B의 원소를 하나씩 뽑아 곱하고 더한값중 최솟값이 되는 경우를 찾는것이다.

지난번에도 이번에도 역시 똑같이 생각했다. A에선 가장 작은 수 * B에선 가장 큰 수를 계산해준다.

 

ㅇ 풀이

public int solution(int[] a, int[] b){
        Arrays.sort(a);
        Arrays.sort(b);
        int answer = 0;
        for(int i = 0; i < a.length; i++) {
            answer += a[i] * b[a.length-i-1];
        }
        return answer;
    }

a와 b둘다 오름차순으로 정렬해준다.

그리고 a의 가장 작은수와 b의 가장 큰수를 곱해주고 누적시킨다.

끝.