이야기
leetcode35. 삽입 위치 찾기
정렬 된 배열과 대상 값이 주어지면 배열에서 대상 값을 찾아 인덱스를 반환하고
, 대상 값이 배열에 없으면 삽입 될 위치를 순서대로 반환합니다.
배열에 중복 요소가 없다고 가정 할 수 있습니다.
예 1 :
입력 : [1,3,5,6], 5
출력 : 2
예 2 :
입력 : [1,3,5,6], 2
출력 : 1
예 3 :
입력 : [1,3,5,6], 7
출력 : 4
예 4 :
입력 : [1,3,5,6], 0
출력 : 0
암호
// C
int searchInsert(int* nums, int numsSize, int target) {
int i = 0;
while ((i < numsSize) && (nums[i] < target)){
++i;
}
return i;
}
// C++
#include <vector>
#include <algorithm>
using namespace std;
class Solution {
public:
int searchInsert(vector<int>& nums, int target) {
auto it = nums.begin();
while((it != nums.end()) && (*it < target)){
++it;
}
return it - nums.begin();
}
};
테스트
#include <iostream>
int main() {
{
// C
int nums[] = {
1, 3, 5, 6};
int target = 5;
cout << searchInsert(nums, 4, 5) << endl;
}
{
// C++
std::vector<int> nums = {
1, 3, 5, 6};
int target = 5;
Solution s;
cout << s.searchInsert(nums, target);
}
cin.get();
return 0;
}
- 결과:
2
2