<문제 설명>
제한사항
입출력 예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);
'🗃️javascript > 프로그래머스' 카테고리의 다른 글
피자 나눠 먹기 (2)(Lv.0)[for문, 조건문을 map과 find()로 구현] (0) | 2023.01.05 |
---|---|
최댓값 만들기 (2)[이중반복문의 결과값들이 안 겹치게 사용 ] (0) | 2023.01.05 |
외계행성의 나이(Lv.0)[문자열 활용문제 -> 문자+ 문자 = 문자열] (0) | 2023.01.04 |
배열 회전시키기(Lv.0)[간단배열이동 적용끝판왕, slice(),splice() 상세설명] (0) | 2023.01.04 |
약수 구하기(Lv.0)[for문 if문을 map()과 filter()로 변경](Array, fill 알아보기) (0) | 2023.01.04 |