[LeetCode] 349. Adjacent Increasing Subarrays Detection I

Chobby·2026년 1월 7일

LeetCode

목록 보기
895/981

😎풀이

  1. subArray의 엄격한 증가를 검사할 헬퍼 함수 isStrictlyInc 정의
  2. nums 순회
    2-1. k개씩 겹치지 않는 두 범위 분할
    2-2. 두 범위 모두 엄격히 증가하는지 검사
    2-3. 모두 엄격히 증가한다면, true 반환
  3. 모든 범위가 엄격히 증가하지 않는다면, false 반환
function hasIncreasingSubarrays(nums: number[], k: number): boolean {
    for(let i = 0; i <= nums.length - k * 2; i++) {
        const endIdx = i + k
        const sub1 = nums.slice(i, endIdx)
        const sub2 = nums.slice(endIdx, endIdx + k)
        if(!isStrictlyInc(sub1)) continue
        if(!isStrictlyInc(sub2)) continue
        return true
    }
    return false
};

function isStrictlyInc(arr: number[]) {
    let prev = arr[0]
    for(let i = 1; i < arr.length; i++) {
        const cur = arr[i]
        if(cur <= prev) return false
        prev = cur
    }
    return true
}
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글