반응형
문제 링크
코딩테스트 연습 - 최솟값 만들기 | 프로그래머스 스쿨 (programmers.co.kr)
문제 풀이
📌한 번 뽑은 요소는 또 뽑을 수 없다.
그러므로 문제에서 두 배열의 각 원소를 곱하여 가장 작은 수를 구하는 방법은각 배열의 (가장 작은 수 x 가장 큰 수)
1번 풀이
import java.util.Arrays;
public class Solution {
public int solution(int[] A, int[] B) {
Arrays.sort(A);
Arrays.sort(B);
int sum = 0;
for(int i=0; i<A.length; i++) {
sum += A[i] * B[A.length-i-1];
}
return sum;
}
}
- 먼저 두 배열을 모두 정렬합니다.
- 최솟값 구하기
각 배열이 a: {1, 2, 3}
, b: {4, 5, 6}
이라고 가정했을 때 각 배열의
$$ (1 * 6) + (2 * 5) + (3 * 4) = 28 $$
정확성 테스트
테스트 | 시간 |
---|---|
테스트 1 〉 | 통과 (0.37ms, 73.3MB) |
테스트 2 〉 | 통과 (0.54ms, 75.6MB) |
테스트 3 〉 | 통과 (0.64ms, 74.6MB) |
테스트 4 〉 | 통과 (0.48ms, 76MB) |
테스트 5 〉 | 통과 (0.40ms, 73MB) |
테스트 6 〉 | 통과 (0.42ms, 77.5MB) |
테스트 7 〉 | 통과 (0.42ms, 75.4MB) |
테스트 8 〉 | 통과 (0.58ms, 78.5MB) |
테스트 9 〉 | 통과 (0.56ms, 73.2MB) |
테스트 10 〉 | 통과 (0.39ms, 81.4MB) |
테스트 11 〉 | 통과 (0.42ms, 77.1MB) |
테스트 12 〉 | 통과 (0.45ms, 79MB) |
테스트 13 〉 | 통과 (0.39ms, 77.4MB) |
테스트 14 〉 | 통과 (0.34ms, 75.7MB) |
테스트 15 〉 | 통과 (0.37ms, 73.3MB) |
테스트 16 〉 | 통과 (0.38ms, 71.8MB) |
효율성 테스트
테스트 | 시간 |
---|---|
테스트 1 〉 | 통과 (2.29ms, 52.3MB) |
테스트 2 〉 | 통과 (2.21ms, 52.7MB) |
테스트 3 〉 | 통과 (2.49ms, 52.6MB) |
테스트 4 〉 | 통과 (1.97ms, 52.1MB) |
반응형
'Algorithm > Java' 카테고리의 다른 글
프로그래머스 - 주차 요금 계산 JAVA :: 2022 KAKAO BLIND RECRUITMENT (0) | 2022.08.01 |
---|---|
프로그래머스 - 최댓값과 최솟값 JAVA (0) | 2022.08.01 |
프로그래머스 - 양궁대회 JAVA :: 2022 KAKAO BLIND RECRUITMENT :: 92342 (0) | 2022.07.27 |
프로그래머스 - N-Queen java :: 12952 (0) | 2022.07.22 |
프로그래머스 - 행렬의 곱셈 java (0) | 2022.07.15 |