반응형
https://leetcode.com/problems/search-insert-position/
이분탐색 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
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();
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Binary Search' 카테고리의 다른 글
(C++) - LeetCode (easy) 278. First Bad Version (0) | 2023.01.31 |
---|---|
(C++) - LeetCode (easy) 374. Guess Number Higher or Lower (0) | 2022.11.16 |
(C++) - 백준(BOJ) 3151 : 합이 0 (0) | 2022.06.20 |
(Python) - 백준(BOJ) 13706 : 제곱근 (0) | 2022.04.30 |
(C++) - 백준(BOJ) 1253번 : 좋다 (0) | 2021.09.24 |