x만큼 간격이 있는 n개의 숫자

문제

 

 


나의 생각

 

양수또는 음수에 따라 if 문을 걸고 x 증가값을 index에 넣어 주는 방식으로 접근.

 


나의 답안

 

public static long[] solution(int x, int n) {
    long[] answer = new long[n];
    int count = 0;

    if( x > 0 ){
        for(long i = x ; i <= x * n; i += x){
            answer[count] = i;
            count++;
            System.out.println(i);
        }
    } else if ( x < 0 ){
        for(long i = x ; i >= x * n; i += x) {

            answer[count] = i;
            count++;
            System.out.println(i);
        }
    }

    return answer;
}

 다른 답안

 

answer[0] 값을 초기에 지정을 하면 내가 사용한 count 값을 선언을 할 필요가 없다. 또한,  for문에 있는 변수 값을 1 부터 사용이 가능하게 됨으로써 if - else 문을 적을 필요가 없게 된 것이다. 

 

항상 알고리즘이라는 것은 생각할 때 이전 값과 이후 값과의 일정한 관계가 있는지 보고 접근을 하려고 노력 해야겠다.

 

import java.util.*;
class Solution {
    public static long[] solution(int x, int n) {
        long[] answer = new long[n];
        answer[0] = x;

        for (int i = 1; i < n; i++) {
            answer[i] = answer[i - 1] + x;
        }

        return answer;

    }
}

'Programmers 문제풀이 > Lv.1' 카테고리의 다른 글

핸드폰 번호 가리기  (0) 2023.02.24
하샤드 수  (0) 2023.02.24
약수의 개수와 덧셈  (0) 2023.02.23
없는 숫자 더하기  (0) 2023.02.23
나머지가 1이 되는 수 찾기  (0) 2023.02.23