함수 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]

 

<좋은 풀이>

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;

    }
}

출처 : - , - , 유상빈 , - , 김연욱 외 16 명

 

내가 이해한 것. 

 

long[] answer = new long[n];  //이는 java의 배열 문법을 알아야한다. 

answer[0] = x;                        // answer[0]째에 x를 넣는다. 

 answer[i] = answer[i - 1] + x;  // answer[1]째에 answer[0] 째 숫자(x)와 x를 더한다. 

 

 

< 풀이 >

class Solution{
        public long[] solution(int x, int n) {
            //int[] -> long[] 으로 할 수도 있음.
        long[] answer = new long[n];
            //java 배열 문법를 알아야 풀수 있는..
        long num = x;
        for(int i=0; i< n; i++){
            answer[i] = num;
            num +=x;
        }
        return answer;

    }
}

이해가 안가는 것. int[]로 하면 되는걸 왜 long[]으로 하는 것 인가..?

int[]로 변경하니까 마지막 2문제에서 넘어가질 못했다. 

+ Recent posts