99클럽 코테 스터디 16일차 TIL Search Insert Position

방지환·2024년 6월 10일

코테 스터디

목록 보기
21/37

Search Insert Position

  • 문제 풀이

    1. 주어진 배열에서 target과 같은 번째에 있는 값을 리턴하거나 없으면 몇번째 순서에 들어가는지 return하는 문제이다.
    2. 문제에서 0(log n)이라는것을 명시했다.
    3. 이진탐색을 수행하였다.
    4. 이전문제에서 이진탐색을 다룬적이 있어서 그 방식으로 문제를 해결했다.
  • 풀이 소스

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){
                 right = mid -1;
            }else{
                left = mid+1;
            }
            
        }

        return left;
    }
}
  • 오늘의 회고

    • 문제 시도 및 해결
      • 이진탐색의 left와 right를 각각 길이에 맞게 선언해준다.
      • 반복문을 통해 mid인 중간지점에 대해 값을 비교한다.
      • 배열[mid]값이 target보다 크면 right를 mid -1로 선언하고 target보다 작으면 left를 mid+1로 선언하여 다시 반복문을 돌린다.
      • 배열에 target에 맞는 조건이 없을때 left의 최종값을 return한다.
  • 학습 내용 및 회고
    • 이진탐색을 다시 한번 상기시킬 수 있어서 좋았다.
  • 다음 배울것
    • 코테 문제 풀이

0개의 댓글