[LeetCode] 2784. Check if Array is Good

Chobby·약 15시간 전

LeetCode

목록 보기
796/800

😎풀이

  1. nums를 오름차 순으로 정렬
  2. 정렬된 배열 순회
    2-1. 현재 나타나야 할 수가 맞는지 1씩 증가시키며, 판별
    2-2. 만일, 요소의 마지막이면서 이전 수와 동일한 수가 중복되었다면 true 반환
    2-3. 위 조건을 만족하지 못함에도 중복되어 탐색되었다면 false 반환
  3. 마지막 요소를 반복하지 않고 종료되었다면, false 반환
function isGood(nums: number[]): boolean {
    const sorted = nums.toSorted((a, b) => a - b)
    let cur = 1
    for(let i = 0; i < sorted.length; i++) {
        if(sorted[i] !== cur) {
            if(i === sorted.length - 1 && sorted[i] === cur - 1) return true
            return false
        }
        cur++
    }
    return false
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글