[오늘의 코테연습장] [LeetCode] 35. Search Insert Position

Mini_me·2023년 8월 27일
0

공부[코테연습장]

목록 보기
25/36
post-thumbnail

문제

https://leetcode.com/problems/search-insert-position/

📑 접근 방식

선형탐색이 아닌 이분탐색을 활용하여 문제를 풀었습니다.

  • leftright 포인터를 초기화하여 배열의 시작과 끝으로 설정합니다..
  • leftright보다 작거나 같은 동안 반복문을 실행합니다.
  • mid 값을 찾습니다. ( left와 right의 중간값)
  • mid의 값이 target과 같다면 mid를 반환합니다.
  • mid의 인덱스 값이 target보다 작다면, left를 mid+1로 이동하여 mid 이후의 오른쪽 하위 배열을 탐색합니다.
  • mid의 인덱스 값이 target보다 크다면, right를 mid-1로 이동하여 mid 이후의 왼쪽 하위 배열을 탐색합니다.

    📑 CODE

class Solution {
    public int searchInsert(int[] nums, int target) {
        int left = 0;
        int right = nums.length - 1;
        
        while(left <= right){
            int mid = (left + right) / 2;
            
            if(nums[mid] == target) return mid;
            else if(nums[mid] < target) left = mid + 1;
            else right = mid - 1;
        }
        
        return left;
    }
}

0개의 댓글

Powered by GraphCDN, the GraphQL CDN