반응형
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. 코멘트
- 입력 케이스가 배열에 존재하지 않는 경우에는 가장 근접한 위치를 찾게 되는데, 정답을 출력할 때는 적합한 위치가 되도록 조건문을 이용해 보정했다.
- 개인 일정으로 알고리즘 스터디에 계속 불참 하고 있는데, 다음 주에는 꼭 참여해야겠다....
반응형
'Algorithm' 카테고리의 다른 글
Baekjoon 백준 알고리즘 - 스타트와 링크 ( 14889 ) (0) | 2021.12.05 |
---|---|
leetcode 알고리즘 - Climbing Stairs (0) | 2021.12.01 |
leetcode 알고리즘 - MaximumSubarray (0) | 2021.11.25 |
Baekjoon 백준 알고리즘 - 수리공 항승 ( 1449 ) (0) | 2021.11.14 |
leetcode 알고리즘 - TwoSum (0) | 2021.10.24 |