링크 코드 : https://leetcode.com/problems/search-insert-position/
생각보다 어려운 문제는 아니었다(당연함.easy임)
문제에 있는 조건들과 테스트 케이스들을 보고 구현하면 되는 문제였다.
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
for i in range(len(nums)):
if target == nums[i]:
return i
else:
if target<nums[0]:
return 0
elif nums[-1]<target:
return len(nums)
elif nums[i-1]<target and target<nums[i]:
return i
먼저 크게 1.target이 nums 배열에 있는 경우와 2.없는 경우로 나누어서 살펴보면
1. 있는 경우 배열 인덱스를 그대로 return
2. 없는 경우에서
-1: 오름차순으로 정렬된 nums배열에서 nums[0](가장 작은 수)보다 작으면 맨앞 0 리턴
-2: 가장 마지막 배열(제일 큰 수)보다 크면 맨 마지막 인덱스 부여
-3: 2-1,2-2사이라면 중간에 들어가야 할 위치를 탐색해서 반환함