개발나라 스용공주

[프로그래머스] Lv.0 C++ 순서 바꾸기 / Vector와 Vector 합치기 본문

C++/코딩테스트

[프로그래머스] Lv.0 C++ 순서 바꾸기 / Vector와 Vector 합치기

스용공주 2024. 4. 21. 15:44
728x90
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/181891

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 < 문제 설명 >

정수 리스트 num_list와 정수 n이 주어질 때, num_list를 n 번째 원소 이후의 원소들과 n 번째까지의 원소들로 나눠 n 번째 원소 이후의 원소들을 n 번째까지의 원소들 앞에 붙인 리스트를 return하도록 solution 함수를 완성해주세요.

 

< 입출력 예 >

num_list n result
[2, 1, 6] 1 [1, 6, 2]
[5, 2, 1, 7, 5] 3 [7, 5, 5, 2, 1]

 

 

#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<int> num_list, int n) {
    vector<int> answer;
    vector<int> a;
    
    for(int i = 0; i < n; i ++)
    {
        a.push_back(num_list[i]);
    }
    
    for(int i = n; i < num_list.size(); i++)
    {
        answer.push_back(num_list[i]);
    }
    
    answer.insert(answer.end(), a.begin(), a.end());
    
    return answer;
}

 

=> 벡터 a에 n 이전까지의 숫자들을 순차적으로 넣어주고 벡터 answer에는 n 이후의 숫자들을 넣어준다. 그리고 answer에 a를 뒤이어 넣어주면 n 이후의 숫자들이 먼저 추가되고 n 이전의 숫자들이 그 다음으로 저장된 벡터가 완성된다.

 

  • 벡터에 벡터 넣기 구조 : 벡터1.insert(벡터1.end(), 벡터2.begin(), 벡터2.end());

 

728x90
728x90
Comments