[LeetCode] 35. Search Insert Position

원숭2·2022년 1월 16일
0

LeetCode

목록 보기
4/51

문제

풀이

  1. 시간복잡도가 O(log n)을 가져야 하기 때문에 이진탐색을 활용함
  2. 탐색에 성공하면 mid 값을, 실패 시 완전 탐색 활용

코드

class Solution:
    def searchInsert(self, nums: List[int], target: int) -> int:
        left = 0
        right = len(nums)-1
        
        count = 0 
        while left <= right :
            mid = (left + right) // 2
            
            if nums[mid] == target :
                return mid
            else :
                if nums[mid] < target :
                    left = mid + 1
                else :
                    right = mid - 1
        else :
            for i in range(len(nums)) :
                if target < nums[i] :
                    return i
            else :
                return len(nums)

0개의 댓글