일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- git
- var
- C#
- Clone
- type
- 보안
- condition
- generic
- JavaScript
- vue.js
- VUE
- scss
- security
- nginx
- property
- TypeScript
- docker
- bash
- vuetify
- C++
- dotenv
- AI
- Python
- leetcode
- 앙상블
- webpack
- loop
- npm
- machine learning
- BOJ
Archives
- Today
- Total
ice rabbit programming
[LeetCode] Two Sum II - Input array is sorted 본문
https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/
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 |