728x90
프로그래머스 | Lv2. 최솟값 만들기 (Java)
문제 풀이
- A, B 두 배열을 모두 오름차순 정렬 시킨다.
- 뽑은 값들의 누적합이 최솟값이 되기 위해서는 (A의 가장 작은 값이 B의 가장 큰 값과 곱한 것)을 누적하면 된다.
코드
import java.util.*;
class Solution
{
public int solution(int []A, int []B)
{
//A, B 모두 오름차순 정렬 후
//A의 가장 작은 값과 B의 가장 큰 값을 곱하면서 점차 범위를 좁히면 된다
int answer = 0;
Arrays.sort(A);
Arrays.sort(B);
for(int i=0; i<A.length; i++){
answer += (A[i] * B[B.length - i- 1]);
}
return answer;
}
}
728x90
'코딩 테스트 [준비] > [문풀] 프로그래머스_문풀_조지기' 카테고리의 다른 글
프로그래머스 | LV.2 타겟 넘버 문제 - DFS 문풀 (Java) (0) | 2023.06.29 |
---|---|
프로그래머스 | LV.2 크기가 작은 부분 문자열 (Java) (0) | 2023.05.22 |
프로그래머스 | Lv.2 다음 큰 숫자 (Java) (0) | 2023.05.22 |
프로그래머스 | Lv2. 숫자의 표현 (Java) (0) | 2023.05.20 |
프로그래머스 | Lv.1 부족한 금액 계산(Java) & 문자열 다루기 (Java) (0) | 2023.05.20 |