본문 바로가기

Coding Test/Programmers

[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 48 - 최대값 만들기 (2))

728x90

 

# 문제

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



# 답안

function solution(numbers) {
    // 배열을 오름차순으로 정렬
    numbers.sort((a, b) => a - b);
    
    // 가장 작은 두 개의 음수
    let negative = numbers[0] * numbers[1];
    // 가장 큰 두 개의 양수
    let positive = numbers[numbers.length - 1] * numbers[numbers.length - 2];
    
    // 두 결과 중 더 큰 값을 반환
    return Math.max(negative, positive);
}
728x90