본문 바로가기
공부 정리/LeetCode

[LeetCode] Search Insert Position (javascript)

by 경적필패. 2022. 2. 15.
반응형

문제

 

Given a sorted array of distinct integers and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.

You must write an algorithm with O(log n) runtime complexity.

 

 


문제[번역]

 

정렬된 숫자 와 타겟 숫자가 주어집니다.

타겟을 찾으면 해당 인덱스를 리턴하고,

못찾으면, 순서에 맞는 인덱스를 리턴하세요.

O(log n) 알고리즘을 써야합니다.

 

 

 

 


 

Example 1

Input: nums = [1,3,5,6], target = 5
Output: 2

Example 2

Input: nums = [1,3,5,6], target = 2
Output: 1

Example 3

Input: nums = [1,3,5,6], target = 7
Output: 4

 

 

 

 


제약조건

 

  • 1 <= nums.length <= 104
  • -104 <= nums[i] <= 104
  • nums contains distinct values sorted in ascending order.
  • -104 <= target <= 104

 

 

 

 

 


접근방법

 

1. for문을 돌면서 해당인덱스를 찾으면 리턴!

2. 타켓넘버가 더 커졌다면? 리턴!

3. for문을 다 돌아 버렸다면? 리턴!!

 


코드

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

 

 

 


주의사항

끝날때 까지 리턴 못하면 마지막 인덱스임

 

 

 

 

반응형

댓글