초보 개발자의 이야기, 릿허브

[C++] 프로그래머스 x만큼 간격이 있는 n개의 숫자 본문

코딩테스트/📘 프로그래머스 (programmers)

[C++] 프로그래머스 x만큼 간격이 있는 n개의 숫자

릿99 2021. 10. 13. 09:37
728x90
반응형
1. 문제이해

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

 

코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자

함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.

programmers.co.kr

 

정수 x부터 시작해, x씩 증가하는 숫자 n개를 리턴하는 것이 목표이다.

 

 

 

2. 문제풀이

 

x부터 시작해, x씩 증가하는 숫자 n개의 리스트를 리턴하는 것이 목표이다.

 

입출력 예를 보면, x가 2, n이 5일 때,

2부터 시작해, 2씩 증가하는 숫자 5개를 리턴해야하므로,

[ 2, 4, 6, 8, 10 ] 를 반환해야 한다.

 

즉, x씩 증가하는 숫자 n개의 리스트는,

x * 1부터 시작해, n을 1씩 증가시키는 x * n 까지의 리스트와 동일하다.

 

이를 두번째 입출력 예에 적용시켜보면,

x가 4, n이 3이므로,

4 * 1 = 4

4 * 2 = 8

4 * 3 = 12

[ 4, 8, 12 ] 를 반환해야 한다.

 

주어진 틀은 다음과 같았다.

 

 

 

3. 소스코드
#include <string>
#include <vector>

using namespace std;

vector<long long> solution(int x, int n) {
    vector<long long> answer;
    
    for(int i = 1; i <= n; i++){
        answer.push_back(x * i);
    }
    
    return answer;
}

x * 1부터 시작해, n을 1씩 증가시키는 x * n 까지의 리스트를 반환해야하므로,

주어진 answer 벡터값에 x * i 값을 하나씩 넣어주었다.

(여기서 i는 1부터 n까지의 자연수들이다.)

 

 


사실 무척이나 간단한 문제이지만,

벡터에 대한 감을 익혀보는게 좋을 것 같아 풀어본 문제이다.

프로그래머스 문제는 대부분 벡터로 푸는 문제들이던데😥

쉬운 문제부터 차근차근 연습해나가면서 벡터도 잘 이해할 수 있도록 노력해야겠다.😤

 

 

 

 

 

728x90
반응형