🗃️javascript/프로그래머스
가장 큰 수 찾기(Lv.0)[reduce()와 Math.max()로 배열에서 가장 큰 값 찾기]
하얀성
2023. 1. 5. 14:38
<문제 설명>
제한사항
입출력 예arrayresult
입출력 예 설명
정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 1 ≤ array의 길이 ≤ 100
- 0 ≤ array 원소 ≤ 1,000
- array에 중복된 숫자는 없습니다.
입출력 예arrayresult
[1, 8, 3] | [8, 1] |
[9, 10, 11, 8] | [11, 2] |
입출력 예 설명
입출력 예 #1
- 1, 8, 3 중 가장 큰 수는 8이고 인덱스 1에 있습니다.
입출력 예 #2
- 9, 10, 11, 8 중 가장 큰 수는 11이고 인덱스 2에 있습니다.
<제출 답안>
function solution(array) {
return [array.reduce((a,b)=>Math.max(a,b)), array.indexOf(array.reduce((a,b)=>Math.max(a,b)))]
}
이거 못풀어서 3일 정도 계속 도전했더니... Math.max를 쓸줄 몰라서 뒷 문제에서 자꾸 막힘.
아래처럼 reduce가 아닌 spread Operator 써서하면 더 간단하다.
function solution(array) {
let max = Math.max(...array);
return [max, array.indexOf(max)];
}
<보충>
예제
Math.max() - JavaScript | MDN
**Math.max()**함수는 입력값으로 받은 0개 이상의 숫자 중 가장 큰 숫자를 반환합니다.
developer.mozilla.org
Math.max()함수 사용하기
Math.max(10, 20); // 20
Math.max(-10, -20); // -10
Math.max(-10, 20); // 20
Copy to Clipboard배열의 최대값 가져오기
Array.reduce() 숫자 배열의 최대 값을 찾는 데 사용할 수 있습니다. 숫자 배열의 요소, 각 값 비교 :
최대값을 찾는 데 사용할 수 있습니다.
var arr = [1,2,3];
var max = arr.reduce(function(a, b) {
return Math.max(a, b);
}, -Infinity);