
1차원 배열이 주어지면 그 수에서 두 개를 뽑아서 더해주면 된다. 단 중복을 허용하지 않고 오름차순으로 정렬해야 한다.
제한 사항을 보면 numbers의 길이가 100 이하이다. 따라서 이중 포문으로 해줘도
자기 자신인 i == j 인 경우를 제외하고 전부 넣어준다.
이후에 반복문을 모두 돌았다면 answer에 삽입해주면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <string> #include <vector> #include <set> using namespace std; vector<int> solution(vector<int> numbers) { vector<int> answer; set<int> s; int n = numbers.size(); for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { if (i == j) continue; s.insert(numbers[i] + numbers[j]); } } for (int i : s) answer.emplace_back(i); return answer; } | cs |
'Programmers' 카테고리의 다른 글
[프로그래머스 C++] 카카오프렌즈 컬러링북 (0) | 2020.09.28 |
---|---|
[프로그래머스 C++] 소수 찾기 (0) | 2020.09.27 |
[프로그래머스 C++] 완주하지 못한 선수 (0) | 2020.09.26 |
[프로그래머스 C++] 모의고사 (0) | 2020.09.26 |
[프로그래머스 C++] 크레인 인형뽑기 게임 (0) | 2020.09.26 |