문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
알고리즘
없음
풀이
두 배열의 각 원소를 곱해 최솟값을 만들기 위해서는 A 배열의 i번째 작은값과 B 배열의 i번째 큰 값을 곱해야한다.
따라서 두 배열을 오름차순으로 정렬하고 A의 i번째 원소와 B의 뒤에서부터 i번째 원소를 곱하며 누적한다.
코드
import java.util.*;
class Solution
{
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[B.length - i - 1];
return answer;
}
}
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 짝지어 제거하기 (Java) (0) | 2022.11.07 |
---|---|
[프로그래머스] N개의 최소공배수 (Java) (0) | 2022.11.07 |
[프로그래머스] JadenCase 문자열 만들기 (Java) (0) | 2022.11.07 |
[프로그래머스] N-Queen (Java) (0) | 2022.11.05 |
[프로그래머스] 행렬의 곱셈 (Java) (0) | 2022.11.05 |