Programmers/Lv.0

[프로그래머스][Lv.0][Java] 최댓값 만들기(1)

dbssk 2023. 3. 30. 21:08

코딩테스트 연습 - 최댓값 만들기(1) | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 설명

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


제한사항
  • 0 ≤ numbers의 원소 ≤ 10,000
  • 2 ≤ numbers의 길이 ≤ 100

풀이
  • 배열에서 가장 큰 수와 두 번째로 큰 수를 곱해주면 두 수를 곱해 만들 수 있는 최댓값이 된다. 따라서, 오름차순으로 정렬 해주고, 마지막 두 수를 곱해주면 된다.
import java.util.*;

class Solution {
    public int solution(int[] numbers) {
        int lastIdx = numbers.length - 1;
        
        Arrays.sort(numbers);
        int answer = numbers[lastIdx - 1] * numbers[lastIdx];
        
        return answer;
    }
}