[Codility] MissingInteger

hyeon·2021년 2월 24일
0

Codility

목록 보기
9/18

  • 처음에 문제 이해 실수로 정수의 시작 수 부터 끝 수 중간에 빠진 수를 찾는 문제인 줄 알았음 -> 가우스를 써서 모든 수의 합을 구한 후 빼서 답을 찾으려 했으나 역시 오답!
  • 본 문제는 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

others

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
profile
바스락바스락

0개의 댓글