[LeetCode] 1437. Check If All 1's Are at Least Length K Places Away

Chobby·2025년 8월 25일
1

LeetCode

목록 보기
524/582

😎풀이

  1. 처음 탐색된 1을 건너뛸 수 있는 flag 정의
  2. 현재 거리를 확인하는 변수 정의
  3. nums 순회
    3-1. 0이 발견될 때마다 거리 증가
    3-2. 1이 발견될 때 k보다 거리가 짧다면 false 반환
  4. 모든 거리가 k 이상이라면, true 반환환
function kLengthApart(nums: number[], k: number): boolean {
    let isStart = false
    let dist = 0
    for(const num of nums) {
        if(num === 1) {
            if(!isStart) {
                isStart = true
            } else {
                if(dist < k) return false
                dist = 0
            }
        } else {
            if(isStart) dist++
        } 
    }
    return true
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글