728x90

문제
함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.
- 출력 예시 -

정답 코드
< 내 정답 코드 >
class Solution {
public long[] solution(int x, int n) {
long[] answer = new long[n];
for (int i = 0; i < n; i++) {
answer[i] = ((long) i + 1) * x;
}
return answer;
}
}
< 타인 답변 코드 >
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;
}
}
이것을 주의하자!
- 매개변수 x가 처음엔 int형으로 들어오지만, 이후 int형의 범위를 넘어버릴 수 있다. 따라서 long형으로 형변환 해주는 것이 필요하다!
- x의 값이 한 번씩 더해진다는 관점에서 for문의 알고리즘을 적절히 작성하는 것이 포인트!
- 그러나 타인의 정답 코드에서 본 '바로 직전의 값' + 'x값'이라는 규칙도 매우 깔끔하다..!
'코딩 테스트' 카테고리의 다른 글
| [프로그래머스] (Lv.1) 평균 구하기 (0) | 2022.08.30 |
|---|---|
| [프로그래머스] (Lv.1) 하샤드 수 (0) | 2022.08.30 |
| [프로그래머스] (Lv.1) 핸드폰 번호 가리기 (0) | 2022.08.30 |
| [프로그래머스] (Lv.1) 행렬의 덧셈 (0) | 2022.08.30 |
| [프로그래머스] (Lv.1) 직사각형 별찍기 (0) | 2022.08.29 |