다음과 같은 숫자 배열이 있다고 가정해 보겠습니다. -
const arr = [4, 7, 4, 8, 9, 3];
이러한 숫자 배열 중 하나를 취하는 JavaScript 함수를 작성해야 합니다. 함수는 인덱스와 크기가 엄격하게 증가하는 순서(연속 또는 비연속)인 배열에서 이러한 세 개의 숫자를 검색해야 합니다.
예를 들어, 위의 배열에서 숫자 7, 8, 9는 인덱스 1, 3, 4를 갖습니다. 이 숫자는 두 조건을 모두 만족하므로 이 배열에 대해 함수가 true를 반환해야 합니다.
예시
이에 대한 코드는 -
const arr = [4, 7, 4, 8, 9, 3]; const findMatch = (arr) => { let stack = []; let s3 = −Infinity for (let i = arr.length − 1; i >= 0; i−−) { if (arr[i] < s3) return true while (stack.length > 0 && stack[stack.length − 1] < arr[i]) { s3 = stack.pop() }; stack.push(arr[i]) }; return false }; console.log(findMatch(arr));
출력
콘솔의 출력은 -
false