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

백승연·2023년 12월 14일
0

프로그래머스 - Lv. 0

목록 보기
17/60
post-thumbnail

🗒️ 문제

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

function solution(numbers) {
    var answer = 0;
    return answer;
}

제한 사항

  • 0 ≤ numbers의 원소 ≤ 10,000
  • 2 ≤ numbers의 길이 ≤ 100

입출력 예

numbersresult
[1, 2, 3, 4, 5]20
[0, 31, 24, 10, 1, 9]744

입출력 예 설명

입출력 예 #1

  • 두 수의 곱중 최댓값은 4 * 5 = 20 입니다.

입출력 예 #2

  • 두 수의 곱중 최댓값은 31 * 24 = 744 입니다.

🖋️ 나의 풀이

어제 sort()를 사용해봐서 금방 풀었다.

function solution(numbers) {
    let result = numbers.sort((a, b) => a - b).length;
    return numbers[result-1] * numbers[result-2];
}

💡 다른 사람들의 풀이

# 1

오름차순만 생각했었는데 반대로 내림차순으로 만든다음에 첫 번째와 두 번째 인덱스만 곱하면 되는 훨씬 간단한 방법이 있었다

function solution(numbers) {
    numbers.sort((a,b)=>b-a);
    return numbers[0]*numbers[1];
}

# 2

function solution(numbers) {
    let [a, b] = numbers.sort((a,b) => b - a);
    return a * b;
}



📝 모르는 내용 찾아보기

profile
공부하는 벨로그

0개의 댓글