
정수 배열 arr가 주어집니다. 이때 arr의 원소는 1 또는 0입니다. 정수 idx가 주어졌을 때, idx보다 크면서 배열의 값이 1인 가장 작은 인덱스를 찾아서 반환하는 solution 함수를 완성해 주세요.
단, 만약 그러한 인덱스가 없다면 -1을 반환합니다.
arr의 길이 ≤ 100'000arr의 원소는 전부 1 또는 0입니다.| arr | idx | result |
|---|---|---|
| [0, 0, 0, 1] | 1 | 3 |
| [1, 0, 0, 1, 0, 0] | 4 | -1 |
| [1, 1, 1, 1, 0] | 3 | 3 |
입출력 예 #1
입출력 예 #2
입출력 예 #3
function solution(arr, idx) {
return arr.indexOf(1, idx);
}
// 입출력 예 테스트
console.log(solution([0, 0, 0, 1], 1)); // 3
console.log(solution([1, 0, 0, 1, 0, 0], 4)); // -1
console.log(solution([1, 1, 1, 1, 0], 3)); // 3
indexOf 메서드:arr.indexOf(1, idx)는 배열 arr에서 값 1을 찾습니다.idx를 두 번째 인자로 전달하여 idx부터 배열을 탐색합니다.indexOf는 첫 번째 인자로 전달된 값(1)을 배열에서 검색하고, 찾으면 해당 값의 인덱스를 반환합니다.1을 반환합니다.[0, 0, 0, 1], idx = 1indexOf(1, 1)은 idx = 1부터 배열을 검색.1은 인덱스 3에서 발견 → 반환 값: 3.[1, 0, 0, 1, 0, 0], idx = 4indexOf(1, 4)은 idx = 4부터 배열을 검색.1이 이후에 없음 → 반환 값: 1.[1, 1, 1, 1, 0], idx = 3indexOf(1, 3)은 idx = 3부터 배열을 검색.1은 인덱스 3에서 발견 → 반환 값: 3.indexOf의 결과를 그대로 반환합니다.