코린이의 소소한 공부노트

[프로그래머스/Lv.2] 최솟값 만들기 본문

코딩테스트 풀이/JAVA

[프로그래머스/Lv.2] 최솟값 만들기

무지맘 2022. 11. 24. 13:55

1. Input

1) int 배열 A

2) int 배열 B

 

2. Output

1) A, B에서 각각 임의의 한 숫자를 뽑아 두 수를 곱하고, 이 과정을 배열의 길이만큼 반복하여 곱을 누적해서 더한 값 중 최솟값

 

3. Constraint

1) 배열 A, B의 크기 : 1,000 이하의 자연수

2) 배열 A, B의 원소의 크기 : 1,000 이하의 자연수

3) 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없다.

 

4. Example

Input: A={1,2}, B={3,4} -> Output: 10

설명:

- 1*3 + 2*4 = 11

- 1*4 + 2*3 = 10

- 누적 합의 최솟값은 10이므로 10을 반환

 

5. Code

1) 첫 코드(2022/11/24)

import java.util.*;

int answer = 0;
Arrays.sort(A); Arrays.sort(B);
for(int i=0 ; i<A.length ; i++)
    answer += A[i] * B[A.length-1-i];
return answer;