[LeetCode] 2869. Minimum Operations to Collect Elements

Chobby·3일 전

LeetCode

목록 보기
811/826

😎풀이

  1. 1부터 k까지의 수를 확인했는지 검증하는 헬퍼 함수 정의
  2. nums 순회
    2-1. 현재 탐색된 수를 기록
    2-2. 기록된 수들과, 연결되어야 할 k를 헬퍼 함수에 인자로 넘겨주어 k까지의 모든 수가 탐색되었는지 검증
  3. 구성에 필요한 연산의 수 반환환
function minOperations(nums: number[], k: number): number {
    const seen = new Set<number>()
    const n = nums.length
    for(let i = n - 1; i >= 0; i--) {
        seen.add(nums[i])
        if(isCollect(seen, k)) return n - i
    }
    return n
};

function isCollect(seen: Set<number>, k: number) {
    for(let i = 1; i <= k; i++) {
        if(!seen.has(i)) return false
    }
    return true
}
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글