최댓값 만들기 (2)
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
코딩테스트 연습 | 프로그래머스 스쿨
개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!
school.programmers.co.kr
문제 설명 : 정수 배열 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];
}
}
참고한 블로그 :
[프로그래머스] 최댓값 만들기 (2) - Java
프로그래머스 최댓값 만들기 (2) (Java)
velog.io
728x90
300x250