개발일기

[JavaScript]최댓값 만들기(2) 본문

Algorithm

[JavaScript]최댓값 만들기(2)

황대성 2024. 7. 2. 23:00
문제


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

 

제한사항

 

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

 

입출력 예

 

numbers result
[1, 2, -3, 4, -5] 15
[0, -31, 24, 10, 1, 9] 240
[10, 20, 30, 5, 5, 20, 5] 600

 

풀이
function solution(numbers) {
    var answer = [];
    for(let i = 0; i< numbers.length; i++){
        for(let j = i + 1; j< numbers.length; j++){
            answer.push(numbers[i] * numbers[j])   
        }
    }
    return Math.max(...answer);
}

 

풀이 설명


1. 모든 요소의 곱을 비교해야하기 때문에 for문 2개를 활용 한다. 첫번째 for문은 0부터 numbers의 길이까지. 두번째는 i + 1 부터 numbers의 길이까지 반복한다.

2. answer의 빈 배열에 모든 요소의 곱을 넣어준다.(push())

3. answer의 모든 요소의 곱 중에서 가장 큰 값을 리턴한다.(Math.max()) (배열인 상태에선 사용할 수 없어서 스프레드 연산자를 사용해 준다.)

'Algorithm' 카테고리의 다른 글

[JavaScript]진료순서 정하기  (0) 2024.07.05
[JavaScript]2차원으로 만들기  (0) 2024.07.03
[JavaScript] 배열 만들기 6  (0) 2024.06.27
[JavaScript] 배열 만들기 4  (0) 2024.06.26
[JavaScript] 왼쪽 오른쪽  (0) 2024.06.24