티스토리 뷰
프로그래머스 12941번 - 최솟값 만들기

요구사항
1. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱한 값의 합의 최솟값을 반환하라.
요구사항 분석 및 풀이과정
1. 사실상 이 문제는 직접 써보면서 규칙을 찾을 순 있지만, 증명을 위해서는 재배열 부등식이라는 것을 알아야 한다. 좋은 문제는 아니다.
소스코드 작성
import java.util.Arrays;
import java.util.stream.IntStream;
class Solution
{
public int solution(int[] A, int[] B)
{
Arrays.sort(A);
Arrays.sort(B);
return IntStream.range(0, A.length).map(i -> A[i] * B[A.length - i - 1]).sum();
}
}
결과

소스코드 깃허브 주소
'코딩테스트 > 알고리즘' 카테고리의 다른 글
| [알고리즘]프로그래머스 92341번 - 주차 요금 계산 (0) | 2022.01.15 |
|---|---|
| [알고리즘]프로그래머스 42888번 - 오픈채팅방 (0) | 2022.01.15 |
| [알고리즘]프로그래머스 12953번 - N개의 최소공배수 (0) | 2022.01.15 |
| [알고리즘]프로그래머스 60058번 - 괄호 변환 (0) | 2022.01.15 |
| [알고리즘]프로그래머스 12911번 - 다음 큰 숫자 (0) | 2022.01.15 |