728x90
반응형
[프로그래머스] 코딩테스트 연습 -> 연습문제 -> x만큼 간격이 있는 n개의 숫자
https://school.programmers.co.kr/learn/courses/30/lessons/12954
해결 과정
먼저 배열 answer 의 길이를 n으로 지정해준다.
그리고 반복문을 돌면서 answer[i]에 x * (i+1)을 넣어주면 된다.
처음에는 단순히 answer[i] = x * (i+1); 로 진행하였는데 테스트 13,14에서 자꾸 실패가 나왔다.
이유를 모르겠어 질문게시판을 통해 접근해보니, 형변환 문제 였다.
x의 경우 int형 매개변수 이기 때문에 long 배열 때문에, long으로의 형변환이 필요하다.
그래서 x앞에 (long)을 붙혀서 answer[i] = (long) x * (i+1) 으로 코드를 돌려보니 통과되었다.
물론 answer[i] = x * (long)(i+1) 으로 코드를 돌려봐도 통과가 된다.
소스 코드
class Solution {
public long[] solution(int x, int n) {
long[] answer = new long[n];
for (int i=0 ; i<n; i++) {
answer[i] = (long)x * (i+1);
}
return answer;
}
}
(또 다른 답안)
class Solution {
public long[] solution(int x, int n) {
long[] answer = new long[n];
for (int i=0 ; i<n; i++) {
answer[i] = x * (long)(i+1);
}
return answer;
}
}
728x90
반응형
'JAVA > Programmers' 카테고리의 다른 글
JAVA 프로그래머스 [자연수 뒤집어 배열로 만들기] 자바 Lv.1 (3) | 2023.07.31 |
---|---|
JAVA 프로그래머스 [나머지가 1이 되는 수 찾기] 자바 Lv.1 (0) | 2023.07.31 |
JAVA 프로그래머스 [짝수와 홀수] 자바 Lv.1 (0) | 2023.07.31 |
JAVA 프로그래머스 [자릿수 더하기] 자바 Lv.1 (0) | 2023.07.30 |
JAVA 프로그래머스 [약수의 합] 자바 Lv.1 (0) | 2023.07.30 |
댓글