Programmers
최댓값 만들기 (2)
해말그미
2024. 9. 10. 14:45
🌹 오답
function solution(numbers) {
numbers.map(i => Math.abs(i));
numbers.sort((a,b)=>b-a);
return numbers[0] * numbers[1];
}
//반복문으로 돌면서 음수를 양수로 바꿔준다. [1,2,3,4,5]
//배열 안에서 큰순으로 정렬한다. [5,4,3,2,1]
//첫번째 두번째를 곱한다.
이렇게 하면
테스트 1번과 같은 상황이 발생한다.
🌹 풀이
음수는 어떻게 처리해야 할지 고민이 됐다.
오름차순, 내림차순을 하면 양수와 음수가 한쪽으로 모이니까
numbers.sort((a, b) => b- a); 하면
[4,2,1,-3,-5] 이렇게 되고
큰수끼리, 작은 수끼리 곱하고 비교한다.
🌹 코드
function solution(numbers) {
numbers.sort((a, b) => b - a);
return Math.max(numbers[0] * numbers[1], numbers[numbers.length-1] * numbers[numbers.length-2]);
}