프로그래머스 - JAVA

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

youngbee 2023. 2. 27. 18:28

문제

정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.


조건

-10,000 ≤ numbers의 원소 ≤ 10,000
2 ≤ numbers 의 길이 ≤ 100

 

코드

import java.util.Arrays;

class Solution {
    public int solution(int[] numbers) {
        Arrays.sort(numbers);
        int leng = numbers.length;
        if(numbers[0]*numbers[1]>numbers[leng-1]*numbers[leng-2])
            return numbers[0]*numbers[1];
        return numbers[leng-1]*numbers[leng-2];
    }
}

이번에는 음수값 까지 포함되어 있다. 그러므로 정렬 후 첫번째 배열과 두번째 배열을 곱한 값과 배열의 마지막 값과 마지막 -1 값을 곱한 후 누가 더 큰지 비교한다. 

 

 

 

 

 

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges