본문 바로가기

알고리즘/[프로그래머스]Lv.1

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

본 페이지는 C++ 독학을 위해 작성한 포스트입니다 풀이과정도 포함되어있지만 문법공부에 대한 비중이 있습니다.
(+  Java언어 내용도 포함되어있습니다. )

 

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

 

프로그래머스

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

programmers.co.kr

 

 

1.문제설명

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

제한 조건
x는 -10000000 이상, 10000000 이하인 정수입니다.n은 1000 이하인 자연수입니다

 

2. 문제해결 접근

  • 초기값을 정하는 변수를 지정한다.
  • 반복문을 사용하여 인수 n만큼 반복하여 더해지도록 하는 연산을 지정한다.

 

3.답안 : [언어 : java ]

import java.util.*;

class Solution {
    public List<Integer> solution(long x, int n) {
    // List 활용
        List list = new ArrayList();
 		// x부터 시작하므로 초기화한다.
 		long addNum = x;
        
        // 숫자 n만큼 반복하여 덧셈연산을 한다.
        for ( int i = 0; i <= n-1; i++) {
//			System.out.println( x );
			
			//list에 add함수를 사용하여 x의 값을 배열의 요소로 추가한다. 	
			list.add(x);
			x += addNum;
		}
        return list;
    }
}

 

4. C++ 답안

#include <string>
#include <vector>

using namespace std;

vector<long long> solution(int x, int n) {
    // vector long타입으로 answer에 저장한다. 길이는 n 초기값이 x
    vector<long long> answer(n, x);
    int addvalue = x;


    // 반복문으로 vector에 값을 넣는다. 
    for (int i = 1; i < n; i++)
    
        // [ 초기값, 초기값+x ... ]
        answer[i] = answer[i-1] + addvalue;

    return answer;
}

 

5. C++ 문법 설명과 표현법

 

vector 의 초기화
// vector long타입으로 answer에 저장한다. 길이는 n 초기값이 x
    vector<long long> answer(n, x);

다양한 방법으로 초기화가 가능하다..

vector<자료형> 이름;
vector<자료형> 이름(벡터 크기);
vector<자료형> 이름(벡터 크기, [채우고자 하는 수]);

 

 

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=withham1&logNo=220958337986 

 

[C++ STL] vector

C++ STL의 vector 컨테이너는 배열과 비슷하고 사용이 쉬워서 배열대신 많이 사용합니다.1. vector 생...

blog.naver.com