Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 배열에서 값과 인덱스가 같은 첫 번째 숫자 찾기

문제 소개

숫자로 이루어진 배열을 입력받아 처리하는 JavaScript 함수를 작성해야 합니다. 이 함수의 목표는 배열에서 요소의 값과 해당 요소의 0 기반(0-based) 인덱스가 일치하는 첫 번째 숫자를 찾아 반환하는 것입니다. 단, 조건을 만족하는 숫자가 배열에 최소 하나 이상 존재한다고 가정합니다.

해결 접근 방법

가장 직관적인 해결 방법은 배열을 처음부터 끝까지 순차적으로 순회하면서, 각 위치에서 요소의 값이 현재 인덱스와 같은지 비교하는 것입니다. 조건을 만족하는 요소를 발견하는 즉시 해당 값을 반환하고 함수 실행을 종료하면 됩니다.

예시 코드

다음은 위 로직을 구현한 코드입니다.

const arr = [9, 2, 1, 3, 6, 5];
const findFirstSimilar = (arr = []) => {
    for(let i = 0; i < arr.length; i++){
        const el = arr[i];
        if(el === i){
            return i;
        };
    };
};
console.log(findFirstSimilar(arr));

동작 원리

예제 배열 [9, 2, 1, 3, 6, 5]를 순서대로 살펴보면 다음과 같습니다.

  • 인덱스 0: 값 9 → 불일치
  • 인덱스 1: 값 2 → 불일치
  • 인덱스 2: 값 1 → 불일치
  • 인덱스 3: 값 3 → 일치!

인덱스 3에서 요소의 값과 인덱스가 처음으로 일치하므로, 함수는 즉시 3을 반환합니다.

출력 결과

3