[LeetCode] 2996. Smallest Missing Integer Greater Than Sequential Prefix Sum

Chobby·2025년 12월 16일

LeetCode

목록 보기
835/989

😎풀이

  1. 연속된 접두사 합을 구할 헬퍼 함수 정의
  2. 합으로부터 nums의 길이만큼 1씩 더해가며 순회
    2-1. 현재 목표하는 수가 기존 nums에 존재했는지 판별
    2-2. 존재하지 않는 수의 경우 반환
  3. 탐색할 값을 찾지 못한 경우 0 반환
function missingInteger(nums: number[]): number {
    const set = new Set(nums)
    const prefixSum = getPrefixSum(nums)
    const maxNum = prefixSum + nums.length
    for(let target = prefixSum; target <= maxNum; target++) {
        if(!set.has(target)) return target
    }
    return 0
};

function getPrefixSum(nums: number[]) {
    let sum = nums[0]
    for(let i = 1; i < nums.length; i++) {
        if(nums[i] !== nums[i - 1] + 1) return sum
        sum += nums[i]
    }
    return sum
}
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글