Algorithm
leetcode 알고리즘 - Search Insert Position
jssvs
2021. 11. 29. 00:20
반응형
1. 문제 소개
- 주어진 배열에서 입력값이 삽입될 적합한 위치를 출력하면 된다.
- leetcode 난이도 easy 수준의 문제다.
- 이분 탐색을 이용하면 O(logN) 으로 해결할 수 있다.
2. 코드
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
start = 0
end = len(nums)-1
mid = 0
while(start <= end ):
mid = ( start + end ) //2
if nums[mid]==target:
return mid
elif nums[mid] <= target: # search right partitiion
start = mid+1
else: # search left partition
end = mid-1
if nums[mid] < target:
return mid+1
else:
return mid
3. 코멘트
- 입력 케이스가 배열에 존재하지 않는 경우에는 가장 근접한 위치를 찾게 되는데, 정답을 출력할 때는 적합한 위치가 되도록 조건문을 이용해 보정했다.
- 개인 일정으로 알고리즘 스터디에 계속 불참 하고 있는데, 다음 주에는 꼭 참여해야겠다....
반응형