티스토리 뷰

문제 링크

 

코딩테스트 연습 - 두 개 뽑아서 더하기

 

programmers.co.kr

 

 

 

풀이

다양한 답이 있겠지만 중복 제거+오름차순해주는 것은 map이 너무 편하기 때문에 사용했다.

모든 조합에 대해서 map에 push해주고 다시 map을 순회하면서 answer에 push해준다.

 

 

 

더보기
#include <string>
#include <vector>
#include <map>

using namespace std;

vector<int> solution(vector<int> numbers) {
    vector<int> answer;
    map<int, int> m;        // 중복 제거 + 오름차순 정렬용
    for(int i=0; i<numbers.size()-1; i++){
        for(int j=i+1; j<numbers.size(); j++){
            m[numbers[i]+numbers[j]]=1;     // map에 push
        }
    }
    for(auto e: m){
        answer.push_back(e.first);      // 답 push
    }
    return answer;
}
728x90
반응형
댓글
05-11 01:45
링크