본문 바로가기

코딩 테스트/프로그래머스

[Level 1, C++] 두 개 뽑아서 더하기

728x90
반응형

 

중복을 제거하는 함수인 unique와 erase를 같이 쓰면 쉽게 풀 수있다.


#include <string>
#include <vector>
#include <algorithm>
using namespace std;

vector<int> solution(vector<int> numbers) {
    vector<int> answer;
    for(int i=0; i<numbers.size(); i++) {
        for(int u=0; u<numbers.size(); u++) {
            if(i == u) continue;
            answer.push_back(numbers[i] + numbers[u]);
        }
    }
    sort(answer.begin(), answer.end());
    answer.erase(unique(answer.begin(), answer.end()), answer.end());
    return answer;
}

 

728x90
반응형

'코딩 테스트 > 프로그래머스' 카테고리의 다른 글

[Level 1, C++] 최소직사각형  (0) 2022.07.03
[Level 1, C++] 2016년  (0) 2022.07.03
[Level 1, C++] 3진법 뒤집기  (0) 2022.07.03
[Level 1, C++] 약수의 개수와 덧셈  (0) 2022.07.03
[Level 1, C++] K번째수  (0) 2022.07.03