공부/코딩테스트

Q. 가장 큰 수 찾기

뀨뿌뀨뿌 2024. 2. 26. 09:57

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

🚫제한 사항
1 ≤ array의 길이 ≤ 100

0 ≤ array 원소 ≤ 1,000
array에 중복된 숫자는 없습니다.

❗입출력 예

array result
[1, 8, 3] [8, 1]
[9, 10, 11, 8] [11, 2]

😀 내가 푼 답

const solution = (array) => {
    return [Math.max(...array), array.indexOf(Math.max(...array))]
}

😊 문제풀이 답안 OR 다른사람들 답

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

// 2
function solution(array) {
    return [Math.max(...array), array.findIndex(el => el === Math.max(...array))];
}
  • findIndex()
    • findIndex() 인스턴스 메서드는 제공된 Array의 테스트 함수를 충족하는 배열의 첫 번째 요소 인덱스를 반환함
    • 만족하는 요소가 없으면 -1을 반환
    • 2개의 인수를 취함
findIndex(testFn(element[, index[, array]])[, thisArg])
  • testFn
    • testFn은 요소가 발견되었음을 나타내는 true를 반환할 때까지 배열의 각 요소에 대해 실행하는 함수
    • 3가지 인수를 사용함
      • element -> 처리중인 배열의 현재 요소
      • index -> 처리 중인 현재 요소의 인덱스
      • 배열은 findIndex()가 호출된 배열
  • thisArg
    • thisArg는 콜백을 실행할 때 사용할 선택적 객체
    • thisArg 인수를 생략하면 findIndex()함수는 undefined를 사용
    • findIndex()는 testFn이 true를 강제 변환되는 값인 truthy값을 반환하는 항목을 찾을 때까지 배열의 모든 요소에 대해 testFn을 실행함
    • findIndex()가 그러한 요소를 찾으면 즉시 요소의 인덱스를 반환함

'공부 > 코딩테스트' 카테고리의 다른 글

Q. 최대값 만들기(2)  (0) 2024.02.26
Q. 주사위의 개수  (0) 2024.02.26
Q. 인덱스 바꾸기  (0) 2024.02.23
Q. 세균 증식  (1) 2024.02.13
Q. 문자 반복 출력하기  (1) 2023.12.08