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

popolarburr·2023년 2월 22일
0
post-thumbnail

- 문제



- 풀이


1. 첫번째 풀이


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

  • 나름 잘 풀었다고 생각했는데, long인 것도 캐치하여 잘 풀었는데 왜 틀렸을까..?
  • 다시 고민하던중 tmp를 int로 해준 것이 보여 수정!

2. 두번째 풀이


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


  • 정리 : 결론은 이게 맞았다. 숫자가 커질 위험이 있어 long으로 선언한 배열에 저장할 값이 long이 아니고 int였기에 StackOverflow가 발생할 수 있었다. 문제를 잘 보자!!

출처 : 프로그래머스 LV1 x만큼 간격이 있는 n개의 숫자

profile
차곡차곡

0개의 댓글