문제
나의 생각
양수또는 음수에 따라 if 문을 걸고 x 증가값을 index에 넣어 주는 방식으로 접근.
나의 답안
public static long[] solution(int x, int n) {
long[] answer = new long[n];
int count = 0;
if( x > 0 ){
for(long i = x ; i <= x * n; i += x){
answer[count] = i;
count++;
System.out.println(i);
}
} else if ( x < 0 ){
for(long i = x ; i >= x * n; i += x) {
answer[count] = i;
count++;
System.out.println(i);
}
}
return answer;
}
다른 답안
answer[0] 값을 초기에 지정을 하면 내가 사용한 count 값을 선언을 할 필요가 없다. 또한, for문에 있는 변수 값을 1 부터 사용이 가능하게 됨으로써 if - else 문을 적을 필요가 없게 된 것이다.
항상 알고리즘이라는 것은 생각할 때 이전 값과 이후 값과의 일정한 관계가 있는지 보고 접근을 하려고 노력 해야겠다.
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;
}
}
'Programmers 문제풀이 > Lv.1' 카테고리의 다른 글
핸드폰 번호 가리기 (0) | 2023.02.24 |
---|---|
하샤드 수 (0) | 2023.02.24 |
약수의 개수와 덧셈 (0) | 2023.02.23 |
없는 숫자 더하기 (0) | 2023.02.23 |
나머지가 1이 되는 수 찾기 (0) | 2023.02.23 |