- 처음에 문제 이해 실수로 정수의 시작 수 부터 끝 수 중간에 빠진 수를 찾는 문제인 줄 알았음 -> 가우스를 써서 모든 수의 합을 구한 후 빼서 답을 찾으려 했으나 역시 오답!
- 본 문제는 1 이상의 값 중 언급되지 않은 가장 작은 수를 찾는 문제임
== 사실 문제 이해를 잘한다면 어려울게 없었다고 생각, but 3회 try
def solution(A):
# write your code in Python 3.6
A = list(filter(lambda x : x > 0 ,set(A)))
if len(A) == 0 :
return 1
A.sort()
m = min(1,A[0])
s = m
for a in A:
if a == s:
s += 1
m = s
continue
else :
return min(m,s)
return s
class Solution:
def missingNumber(self, nums: List[int]) -> int:
max_num = max(nums)
my_nums = set([num for num in range(max_num + 1)])
nums = set(nums)
differ = my_nums - nums
if len(differ) == 0:
answer = max_num + 1
else:
answer = list(differ)[0]
return answer
그냥 처음 min 값 설정하고 안바꾸면 되는거였어..
def solution(A):
A.sort()
min = 1
for i in A:
if i == min:
min += 1
return min