leetcode

35. Search insert Position easy

냠냠맨 2022. 11. 24. 15:24

문제 링크

문제 정보

 

오름차순으로 정렬된 정수배열 nums와 정수 target이 매개변수로 주어집니다.

정수배열의 요소 중 target이 있다면 해당 인덱스를 반환합니다.

정수배열의 요소 중 target이 없다면 target이 들어가야할 인덱스를 반환합니다.

 

example
Input: nums = [1,3,5,6], target = 5
Output: 2
Input: nums = [1,3,5,6], target = 7 // 7은 6다음에 와야하므로 4
Output: 4

 

 

처음에는 그냥 indexOf를 해주면 답인거 아닌가?했는데

target값이 배열에 없는 경우를 처리해줘야해서 for문을 사용해야했습니다.


나의풀이

var searchInsert = function(nums, target) {
    for(let i =0;i<nums.length;i++){
        if(nums[i] >= target)   return i;
    }
    return nums.length;
};

 

target값과 비교했을때 같거나 크면 그냥 i를 리턴해주면 되고

만약 for문을 모두 순회해도 if 문을 만족하지 못한 경우 nums의 length는 항상 마지막 index보다 1이 크니까

nums.length를 반환해주면 정답입니다.

반응형