•
•
문제 설명 : 0~N 까지 숫자 중 빠진 숫자를 반환
•
풀이 방법
◦
set을 사용하여 미사용 숫자를 확인하였다.
•
시간복잡도 :
•
성공 코드
class Solution:
def missingNumber(self, nums: List[int]) -> int:
info = set(range(len(nums) + 1))
for num in nums:
info.remove(num)
return list(info)[0]
Python
복사
•
공간 복잡도 개선(O(N))
요소의 총합을 이용한 방법이었다.
1 ~ N 총합은 (N * (N+1) / 2) 로 구할 수 있다.
이를 제공된 nums 의 합을 사용하여 차이값을 반환한다.
class Solution:
def missingNumber(self, nums: List[int]) -> int:
return (len(nums) * (len(nums)+1) // 2) - sum(nums)
Python
복사