하루에 한 문제
[프로그래머스] 최솟값 만들기 -Java 본문
https://programmers.co.kr/learn/courses/30/lessons/12941
import java.util.Arrays;
class Solution {
public int solution(int[] A, int[] B) {
int answer = 0;
Arrays.sort(A);
Arrays.sort(B);
int size=A.length;
for(int i=0; i<size; i++) {
answer+=A[i]*B[size-1-i];
}
return answer;
}
}
소요시간 : 5분
A,B각 요소를 곱해서 누적합이 가장 작게 만들기 위해서는 A의 가장 큰 값과 B의 가장 작은 값을 곱해주면 됩니다!
우선 A와 B를 모두 정렬시킵니다
그리고 A는 앞쪽부터 B는 뒤쪽부터 오면서 서로를 곱해서 answer에 더해주면 끝입니다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] JadenCase 문자열 만들기 -Java (0) | 2020.12.17 |
---|---|
[프로그래머스 2017팁스타운]예상 대진표 -Java (0) | 2020.12.17 |
[프로그래머스 Summer/Winter Coding] 영어 끝말잇기 -Java (0) | 2020.12.17 |
[프로그래머스 2017 팁스다타운] 짝지어 제거하기 -Java (2) | 2020.12.17 |
[프로그래머스] 타켓 넘버 -Java (0) | 2020.12.17 |
Comments