반응형
사이트명 : 프로그래머스(Programmers)
문제명 : x만큼 간격이 있는 n개의 숫자
언어 : 자바(Java)
x와 n을 받아서 x를 1부터 n까지 곱한 값을 배열에 쫙 넣으면 되는 문제인데
보면 간단해 보이겠지만
아마 문제 풀다가 마지막 2개의 테스트에서 막히는 경우가 좀 있을텐데
내 풀이방법은 아래와 같다
보면 그냥 n의 크기로 배열을 만든 뒤
x를 1부터 곱해가면서 answer 배열에 착착 넣어주면 될 것 같은데
마지막 두 테스트에서 틀리는 이유가
값을 long 처리해서 넣어주지 않아서 그런 경우가 많을텐데
왜 마지막 두 테스트에서 틀리냐면
int 값의 범위를 넘어서는 경우에 처리를 못해줘서 틀려서 그렇다
여기서 long으로 처리를 해 주면 범위를 넘어서는 경우가 나오지 않고 해결 가능하다
마지막으로 프로그래머스에 바로 적용 가능한 코드는 아래와 같다
class Solution {
public long[] solution(int x, int n) {
long[] answer = new long[n];
int val = x;
for(int i =0; i<n; i++) {
answer[i] = ((long)x * (i+1));
}
return answer;
}
}
반응형
'Language > 알고리즘 문제풀이' 카테고리의 다른 글
프로그래머스 폰켓몬(Java) (0) | 2019.09.29 |
---|---|
프로그래머스 예산(Java) (0) | 2019.09.24 |
프로그래머스 행렬의 덧셈(Java) (0) | 2019.09.24 |
프로그래머스 점프와 순간 이동(Java) (0) | 2019.09.23 |
프로그래머스 다음 큰 숫자(Java) (0) | 2019.09.23 |
댓글