새소식

알고리즘 문제풀이/프로그래머스

[for문] level1 프로그래머스 x만큼 간격이 있는 n개의 숫자 자바, 파이썬 풀이

  • -

프로그래머스 연습문제 x만큼 간격이 있는 n개의 숫자 자바 풀이

문제 정리

  1. 정수 x와 자연수 n이 주어질때 x부터 시작해 x씩 증가하는 숫자 n개를 리스트에 담아 return 한다.

문제 풀이

x는 최대 천만이고 그걸 1000번 더할 수 있으므로 int형을 넘게 되므로 리스트는 long형이어야 합니다.(자바 기준)
for문을 반복하며 x의 배수를 모두 배열에 넣어주면 됩니다.
이때 주의할 점은 i와 x의 곱 계산시 int형으로만 계산되기 때문에 int 범위를 넘는 값은 answer 배열에 제대로 담을 수 없습니다.
그렇기 때문에 처음에 x를 long형으로 바꾸어 계산합니다.

자바 코드

class Solution{
    public static long[] solution(int x, int n) {
        long xx = x;
        long[] answer = new long[n];
        for(int i=0; i<n; i++)
            answer[i] = xx*(i+1);
        return answer;
    }
}

파이썬 한줄 코드

리스트 내에 for문을 이용하여 한줄로 작성할 수 있습니다.

def solution(x, n):
    return [x*(i+1) for i in range(0,n)]

c++ 코드

#include <string>
#include <vector>

using namespace std;

vector<long long> solution(int x, int n) {
    vector<long long> ans;

    for (int i = 1; i <= n; i++) {
        ans.push_back(x * i);
    }
    return ans;
}
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.