🔨 첫번째 작성 코드
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;
x += x;
}
return answer;
}
}
x += x를 하므로서 x만큼 증가하는 게 아니라 이전 값의 두배를 하고 있었다.
🗝️ 두번째 작성 코드
class Solution {
public long[] solution(int x, int n) {
long[] answer = new long[n];
answer[0] = (long)x;
for(int i = 1; i < n; i++) {
answer[i] = answer[i-1] + (long)x;
}
return answer;
}
}
answer의 0번째에 미리 x라고 선언을 해준 뒤 for문을 실행하였다.
for문에서는 i가 1부터 시작하며 (0번째는 이미 x로 지정을 했으므로 1번째부터 시작) answer의 i번째에 i-1번째의 값 + x를 넣어준다.
그렇다면 i번째 값은 i-1보다 x만큼 차이가 난다!
사실 long으로 형변환을 안해줘도 실행은 되겠지만 기분상 넣어줬다!
'알고리즘 테스트 공부' 카테고리의 다른 글
핸드폰 번호 가리기 (0) | 2023.10.20 |
---|---|
행렬의 덧셈 (0) | 2023.10.18 |
직사각형 별찍기 (0) | 2023.10.16 |
소수 만들기 (0) | 2023.10.15 |
예산 (0) | 2023.10.13 |