ice rabbit programming

[LeetCode] Two Sum II - Input array is sorted 본문

PS/LeetCode

[LeetCode] Two Sum II - Input array is sorted

판교토끼 2020. 4. 18. 22:39

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포인터 풀이가 보편적인 풀이인 것 같다.

'PS > LeetCode' 카테고리의 다른 글

[LeetCode] Minimum Depth of Binary Tree  (0) 2020.04.20
[LeetCode] Best Time to Buy and Sell Stock  (0) 2020.04.19
[LeetCode] Linked List Cycle  (0) 2020.04.16
[LeetCode] Remove Duplicates From Sorted List  (0) 2020.04.15
[LeetCode] Climbing Stairs  (0) 2020.04.15