#include <string>
#include <vector>
#include <algorithm>
#include <unordered_map>
 
using namespace std;
 
vector<int> solution(vector<int> numbers)
{
    vector<int> answer = {};
 
    sort(numbers.begin(), numbers.end());
 
    for (int i = 0; i < numbers.size(); ++i)
    {
        for (int j = i + 1; j < numbers.size(); ++j)
        {
            answer.push_back(numbers[i] + numbers[j]);
        }
    }
 
    sort(answer.begin(), answer.end());
    answer.erase(unique(answer.begin(), answer.end()),answer.end());
 
    return answer;
}
 

이건 내가 푼 방법

#include <string>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
 
vector<int> solution(vector<int> numbers) {
    vector<int> answer;
    set<int> st;
    for(int i = 0;i<numbers.size();++i){
        for(int j = i+1 ; j< numbers.size();++j){
            st.insert(numbers[i] + numbers[j]);
        }
    }
    answer.assign(st.begin(), st.end());
    return answer;
}

이건 다른 분이 푼 방법인데

set... 익숙하질 않아서 계속 안쓰게 되네

assign 함수가 있는지도 모르긴 했지만...

+ Recent posts