Coding Challenges/LeetCode

[Java] 35. Search Insert Position

기록해연 2025. 6. 16. 11:43

난이도: EASY

 

문제 링크: https://leetcode.com/problems/search-insert-position/


문제

더보기

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. 

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
 
Constraints:
1 <= nums.length <= 104
-104 <= nums[i] <= 104
nums contains distinct values sorted in ascending order.
-104 <= target <= 104


 

시도 

class Solution {
    public int searchInsert(int[] nums, int target) {
        int result = 0;
        for(int i = 0; i < nums.length; i++) {
            // 찾는 숫자가 나오면 반환
            if(nums[i] == target) {
                result = i; 
            }
            // 찾는 숫자가 없는 경우 있어야 하는 위치 반환
            else if(nums[i] < target) result = i + 1;            
        }   
        return result;
    }
}

 

사실 문제를 제대로 안읽고 시작해버려서 찾는 숫자가 없는 경우 처리를 안함 ㅋㅋㅋ.....

문제 다시 보고 처리.


 

나의 최종 제출 답안:

class Solution {
    public int searchInsert(int[] nums, int target) {
        int result = 0;
        for(int i = 0; i < nums.length; i++) {
            // 찾는 숫자가 나오면 반환
            if(nums[i] == target) {
                result = i; 
            }
            // 찾는 숫자가 없는 경우 있어야 하는 위치 반환
            else if(nums[i] < target) result = i + 1;            
        }   
        return result;
    }
}