오늘의 알고리즘
[C++] 월간 코드 챌린지 시즌1 두 개 뽑아서 더하기(프로그래머스 1레벨)
하늘하늘 .
2022. 3. 24. 15:07
#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 함수가 있는지도 모르긴 했지만...