본문 바로가기

Algorithm/Binary Search

(C++) - LeetCode (easy) 35. Search Insert Position

반응형

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

 

Search Insert Position - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

이분탐색 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

target이상의 값이 나온 원소의 iterator를 lower_bound함수를 이용해 구해줍니다.

이 값을 지역변수 idx 선언 후 저장합니다.

📔 풀이과정

1. target이상의 값이 num에 없으면 lower_bound함수는 end()를 반환합니다. 따라서 이 경우는 nums 배열의 마지막에 insert되어야하므로 num.size()를 반환합니다.

2. target값이 있다면 해당 index를 반환합니다.

📔 정답출력

조건에 따라 알맞은 값을 반환해줍니다.


📕 Code

📔 C++

class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        auto idx = lower_bound(nums.begin(), nums.end(), target);
        if(idx == nums.end()) return nums.size();
        return idx - nums.begin();
    }
};

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.