프로그래머스

level1_두 개 뽑아서 더하기

문제

https://programmers.co.kr/learn/courses/30/lessons/68644

 

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

정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한

programmers.co.kr


접근방법

1) 접근 사고

인덱스가 안겹치게 모든 경우를 더 해준뒤 같은 값들의 중복을 unique를 사용해서 지워주었습니다.

 

2) 시간 복잡도

O(n^2)

 

3) 실수

없었습니다.

 

4) 배운점

 

5) PS

 


정답 코드

#include<bits/stdc++.h>

using namespace std;

vector<int> solution(vector<int> numbers) {
    vector<int> answer;
    int nSize= numbers.size();
    for(int i = 0; i < nSize - 1; i++){
        for(int j = i + 1; j < nSize; j++){
            answer.push_back(numbers[i] + numbers[j]);
        }
    }
    sort(answer.begin(), answer.end());
    answer.resize(unique(answer.begin(), answer.end()) - answer.begin());
    return answer;
}

'프로그래머스' 카테고리의 다른 글

level2_방금그곡  (0) 2022.03.07
level1_3진법 뒤집기  (0) 2021.10.21
level1_내적  (0) 2021.10.21
2019 KAKAO BLIND RECRUITMENT 풀이 모음  (0) 2021.10.17
2020 KAKAO BLIND RECRUITMENT 풀이 모음  (0) 2021.10.13