티스토리 뷰

반응형


문제의 조건

 

1. 정수를 담은 배열 numbers가 주어짐

 

2. 숫자 두 개를 뽑아서 더했을 때 나올 수 있는 수들을 담은 배열 리턴하기 

 


#include <string>
#include <vector>
#include <algorithm>

using namespace std;

vector<int> solution(vector<int> numbers) {
    vector<int> answer;
    for (int i = 0; numbers.size() - 1 > i; i++)
    {
        for (int j = i + 1; numbers.size() > j; j++)
        {
            int sum = numbers[i] + numbers[j];
            auto it = find(answer.begin(), answer.end(), sum);
            if (answer.end() == it)
                answer.emplace_back(sum);
        }
    }

    sort(answer.begin(), answer.end());

    return answer;
}

 

처음엔 unordered_set을 써서 풀려고 하다가 쟨 정렬이 안 되니까 어차피 sort 함수 불러서 정렬시키면 처리 시간이 똑같지 않나 싶어서 위와 같이 벡터에서 찾는 방식으로 풀었습니다. 

근데 다른 분들 풀이 보니까 그냥 set을 쓰셨더라구요. 

그 때 set은 중복 허용 안 하면서 오름차순 정렬까지 해 준다는 게 생각이 남 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

난 꼭 하나만 알고 둘은 까먹지...

다음엔 잘 쓰자... 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함