[프로그래머스] 두 개 뽑아서 더하기



Programmers - [월간 코드 챌린지 시즌1] 두 개 뽑아서 더하기




사용 언어 - C++

소요 시간 - 약 15분




문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/68644




문제 요약

  1. 주어진 정수 배열에서 두 정수를 뽑아 더함
  2. 더한 수를 answer 배열에 담고, 중복 없이 오름차순으로 정렬




최종 코드

#include <string>
#include <vector>
#include <set>

using namespace std;

vector<int> solution(vector<int> numbers) {
    vector<int> answer;
    set<int> s;
    
    for(int i = 0; i < numbers.size(); i++)
        for(int j = i+1; j < numbers.size(); j++)
            s.insert(numbers[i] + numbers[j]);
    
    for(int temp : s)
        answer.push_back(temp);
    
    //위와 동일한 코드
    //for(set<int>::iterator iter = s.begin(); iter != s.end(); iter++)
    //    answer.push_back(*iter);
    
    return answer;
}




트러블 슈팅

  • X




문제 풀이 후 소감

  • set을 쓰니까 따로 중복을 제거해줄 필요도 없고, 오름차순으로 정렬해줄 필요도 없어서 편하다^^