최댓값 만들기 (2)
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
문제 설명 : 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
처음에 Math.abs()까지 써서 정렬을 했더니, -3 * -5 의 값을 예상하지 못해서 통과하지 못했었다. 구글 검색해서 참고한 블로그를 보니 MAth.abs() 쓸 필요도 없고, 정렬을 하고나면 앞의 2개의 값과 마지막 2개의 값을 각각 곱한 값을 비교하기만 하면 된다는 것을 알게됨! 감사~
나의 풀이 :
import java.util.*;
class Solution {
public int solution(int[] numbers) {
Arrays.sort(numbers);
int answer = numbers[0]*numbers[1];
return answer = answer > numbers[numbers.length-2]*numbers[numbers.length-1] ? answer : numbers[numbers.length-2]*numbers[numbers.length-1];
}
}
참고한 블로그 :
728x90
300x250