문제 설명
https://school.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);
for (int i = 0; i < B.length; i++) B[i] *= -1;
Arrays.sort(B);
for (int i = 0; i < A.length; i++) answer += A[i] * -B[i];
return answer;
}
}
후기
이런 문제를 풀 때마다 드는 생각이 있다. 도대체 어디까지 직접 구현해야 하는가... Arrays.sort()는 퀵소트인 것으로 알고있는데 퀵소트를 직접 구현해야 할까? 물론 연습할 때는 한두번씩 하고 실전에서는 가져다 쓰는 게 맞다고 생각하지만 음... 수학 문제를 풀면서 공식을 사용할 때 매번 증명하면서 사용하지 않는 것처럼 그냥 가져다 쓰는게 나을까....
그리고 이 문제는 효율성 테스트가 있기 때문에 스트림을 쓰면 테스트 케이스는 다 통과되지만 효율성 테스트에서 떨어진다. 내가 그랬다ㅎㅎ;;
'코딩테스트 (프로그래머스) > Java' 카테고리의 다른 글
| [프로그래머스][JAVA][Lv. 2] 숫자의 표현 (0) | 2023.08.10 |
|---|---|
| [프로그래머스][JAVA][Lv. 2] 이진 변환 반복하기 (0) | 2023.08.09 |
| [프로그래머스][JAVA][Lv. 2] 최대값과 최소값 (0) | 2023.08.09 |
| [프로그래머스][JAVA][Lv. 1] 자릿수 더하기 (0) | 2023.08.09 |
| [프로그래머스][JAVA][Lv. 1] 자연수 뒤집어 배열로 만들기 (0) | 2023.08.09 |