
😎풀이
- 연속된 접두사 합을 구할 헬퍼 함수 정의
- 합으로부터
nums의 길이만큼 1씩 더해가며 순회
2-1. 현재 목표하는 수가 기존 nums에 존재했는지 판별
2-2. 존재하지 않는 수의 경우 반환
- 탐색할 값을 찾지 못한 경우
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
}