본문 바로가기
코딩테스트

[프로그래머스]Level 1- x만큼의 간격이 있는 n개의 숫자_JAVA(스킬업 스킬체크)

by 피자보다 치킨 2022. 1. 21.

문제

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

제한 조건

x는 -10000000 이상, 10000000 이하인 정수입니다.

n은 1000 이하인 자연수입니다.

 

입출력 예

x
n
answer
2
5
[2, 4, 6, 8, 10]
4
3
[4, 8, 12]
-4
2
[-4, -8]

 

생각

-long[] 배열의 length는 입력받은 n만큼이어야 한다.

-그러므로for문에서 n만큼 i가 돌아야 한다.

- x부터 시작해 x씩 증가하는 숫자들의 answer는 x의 배수를 말하는 것이다.

코드

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

 

결과

정답은 맞았다.

하지만 효율적이지 못한 코드라는 결과가 나왔다.

좀 더 효율적인 코드를 연구해봐야겠다.

정말 오늘 하루도 내 기초가 아직 많이 부족하구나...탄탄하지 못하구나 생각이 든다.

더 탄탄하게 만들어야 겠다.

댓글