본문 바로가기

개발과/이 문제 알고리쯤?

x만큼의 간격이 있는 n개의 숫자 : java

//x만큼 간격이 있는 n 개의 숫자
//1. x 만큼의 간격 : i+x
//2. n개의 숫자 : long[] arr = new long[n]
//3. answer 의 배열에 닮는다. += answer

class Solution {
public long[] solution(int x, int n) {
long[] arr = new long[n];
long num = x;
for (int i=0; i<n; i++){
arr[i]=num; //계속 이부분이...i index 라는걸..기억하자...잊지말자..
num+=x;
}
return arr;
}
}
// 나의 문제점
//x로 부터 시작해 라는 말을 놓친것
//그래서 arr[i]=num 의 공식까지 도달하지 못한점..


//더 간결한 풀이
//1. x의 값을 애초에 long으로 변경
//2. answer의 길이를 n 으로 초기화
//3. for를 통해 값을 넣어준다. answer[i]=x*(i+1); 이 부분으로 넣어주는 것까지의 생각 도달을 하지 못했다.
class Solution {
public long[] solution(long x, int n) {
long[] answer = new long[n];
for (int i=0;i<n;i++){
answer[i]=x*(i+1);
}
return answer;
}
}

배열에는 순서 에 값을 넣어 준다는 생각이 부족하다... 다시한번 상기 시키고 가자!!