[코딩테스트] 프로그래머스 12941, 최솟값 만들기
2022. 5. 16. 18:49ㆍCodingTest
문제
https://programmers.co.kr/learn/courses/30/lessons/12941
접근
- 누적합을 최소로 만들기 위해서 배열 A,B를 모두 오름차순으로 정렬
- 배열의 길이만큼 반복하면서 배열 A는 0번째부터, 배열 B는 n-i-1번째부터 내려가면서 누적합을 구함
코드
import java.util.Arrays;
public class Solution
{
public int solution(int []A, int []B)
{
int answer = 0;
int n = A.length;
Arrays.sort(A);
Arrays.sort(B);
for(int i = 0; i < n; i++) {
answer += (A[i]*B[n-i-1]);
}
return answer;
}
public static void main(String[] args) {
int answer = new Solution().solution(new int[] {1, 4, 2}, new int[] {5, 4, 4});
System.out.println(answer);
}
}
'CodingTest' 카테고리의 다른 글
[코딩테스트] 프로그래머스 42890, 후보키 (0) | 2022.07.08 |
---|---|
[코딩테스트] 프로그래머스 60057, 문자열 압축 (0) | 2022.07.04 |
[코딩테스트] 프로그래머스 12985, 예상 대진표 (0) | 2022.05.13 |
[코딩테스트] 프로그래머스 12981, 영어 끝말잇기 (0) | 2022.05.11 |
[코딩테스트] 프로그래머스 87946, 피로도 (0) | 2022.05.03 |