PS/LeetCode
[LeetCode] Two Sum II - Input array is sorted
판교토끼
2020. 4. 18. 22:39
728x90
https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/
Two Sum II - Input array is sorted - 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
Two Sum 2탄이다. 이미 정렬된 배열에서, 합이 target과 맞는 인덱스를 반환한다.
class Solution {
public:
vector<int> twoSum(vector<int>& numbers, int target) {
vector<int> result(2);
int zeroCount = 0;
for(int i=0;i<numbers.size()-1;i++) {
if(numbers[i]==0) {
if(zeroCount<1 || (zeroCount<2 && target!=0))
zeroCount++;
else
continue;
}
for(int j=i+1;j<numbers.size();j++) {
if(numbers[i]+numbers[j]==target) {
result[0]=i+1;
result[1]=j+1;
return result;
}
}
}
return result;
}
};
이번에는 C++로 풀었다. 단순한 2중 선형 탐색을 사용하였고, 0일 경우에 거르는 로직을 추가하였다. 문제 조건에서 단 하나의 target과 일치하는 solution이 있다는 점을 이용하였다.
나쁘지는 않은 풀이였으나, 푼 이후에 보니 이진 탐색, 2포인터 풀이가 보편적인 풀이인 것 같다.
728x90