본문 바로가기

프로그래머스(Java)/Level 0

[프로그래머스] 최댓값 만들기(2)

728x90

코드 힌트

  1. 배열 정렬: 배열을 정렬하면 가장 작은 값들과 가장 큰 값들을 쉽게 찾을 수 있습니다. 이를 통해 음수와 양수 곱셈 결과를 계산할 수 있습니다.
    Arrays.sort(numbers);  // 배열을 오름차순으로 정렬


  2. 음수와 양수 곱셈 결과: 정렬된 배열에서 가장 작은 두 수와 가장 큰 두 수를 선택하여 곱셈 결과를 계산합니다. 음수와 음수를 곱하면 양수가 되므로, 양수 두 개의 곱셈 결과보다 클 수 있습니다.
    int negativeNumberMul = numbers[0] * numbers[1]; // 가장 작은 두 수의 곱셈
    int positiveNumberMul = numbers[len-1] * numbers[len-2]; // 가장 큰 두 수의 곱셈


  3. 최대 값 반환: 두 곱셈 결과 중 더 큰 값을 반환합니다. 조건문을 사용하여 두 값을 비교합니다.
if (negativeNumberMul > positiveNumberMul) {
    return negativeNumberMul;
}
return positiveNumberMul;

 

 

 


정답은 더보기 클릭

더보기
import java.util.*;

class Solution {
    public int solution(int[] numbers) {
        // 배열을 오름차순으로 정렬합니다.
        Arrays.sort(numbers);
        
        // 배열의 길이를 구합니다.
        int len = numbers.length;
        
        // 가장 작은 두 수의 곱셈 결과를 계산합니다.
        int negativeNumberMul = numbers[0] * numbers[1];
        
        // 가장 큰 두 수의 곱셈 결과를 계산합니다.
        int positiveNumberMul = numbers[len-1] * numbers[len-2];
        
        // 두 곱셈 결과 중 더 큰 값을 반환합니다.
        if (negativeNumberMul > positiveNumberMul) {
            return negativeNumberMul;
        }
        return positiveNumberMul;
    }
}

 

728x90