프로그래머스 (JS)/Lv. 0

[Programmers] 120899번 - 가장 큰 수 찾기

hodo- 2023. 3. 2. 22:32

Problem

문제 보기

정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요.'


Solution

function solution(array) {
    const arrayCopy = [...array];
    const answer = array.sort((a, b) => a - b)[array.length-1];
    return [answer, arrayCopy.indexOf(answer)];
}

sort()는 새 배열을 생성하지않고 array 배열을 수정하므로 이전에 얕은 복사로 arrayCopy변수를 만들어주는 식으로 풀었다. 그러나 Math.max()를 이용하면 더 간편하게 풀 수 있다.. 전에도 문제풀 때 Math.max()를 잊었었는데 다시 상기시키는 문제였다.

function solution(array) {
    let max = Math.max(...array);
    return [max, array.indexOf(max)];
}