[프로그래머스/코딩테스트/level1] x만큼 간격이 있는 n개의 숫자 문제 풀이

Yuyy·2021년 7월 13일
0

CodingTest_level1

목록 보기
1/8

문제

함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴

제한 조건
x는 -10000000 이상, 10000000 이하인 정수
n은 1000 이하인 자연수


✍문제풀이(JAVA)

class Solution {
    public long[] solution(int x, int n) {
        long[] answer = new long[n];
        answer[0]=0;			// 배열 초기화
        long x1 = x; 			// **
        for(int i =0; i < n; i++){ 	// for문(반복문)을 n번 돌린다 
            answer[i] = x1*(i+1);	// answer배열에 x와 i+1을 곱하여 순서대로 넣는다
        }
        
        return answer;
    }
}

1. 반복문을 n번 돌리는 이유는 x부터 시작해 x씩 증가하는 숫자를 n개 저장해야하기 때문입니다.
2. ******표시되어있는 라인을 보면 int를 long으로 바꿉니다. 저는 이 부분을 알아채지 못해 어려웠습니다. 만약 데이터형을 long으로 바꾸지 않는다면 연산의 값이 int 범위에서 벗어날 때 answer[i]에 엉뚱한 값이 들어가기 때문에 long으로 꼭 바꿔주어야 합니다.

=> 연산의 값 : x1*(i+1) int 범위 : -2,147,483,648 ~ 2,147,483,647

                      🧐궁금한 점 있으시면 댓글 남겨주세요!!🧐
profile
Junior Developer

0개의 댓글