반응형
✏️ 문제
x만큼 간격이 있는 n개의 숫자
✏️문제 설명
함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.
✏️제한사항
x는 -10000000 이상, 10000000 이하인 정수입니다.
n은 1000 이하인 자연수입니다.
✏️입출력 예
2 | 5 | [2,4,6,8,10] |
4 | 3 | [4,8,12] |
-4 | 2 | [-4, -8] |
1) 시도 : 85.7점
class Solution {
public long[] solution(int x, int n) {
long[] answer = new long[n];
int i = 0;
while(i < n){
answer[i] = x * (i+1);
i++;
}
return answer;
}
}
2) 재시도 : 100점
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 * (i+1);
}
return answer;
}
}
3) 다른사람의 풀이
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;
}
}
4) 셀프 피드백
다른 사람의 풀이처럼 풀려던 시도도 있었는데, 인덱스가 0번일 때 어떻게 처리할지 고민 했었다. 그냥 포문 밖에서 0번만 넣어줘도 되는 생각을 못했다. 첫 시도에서 왜 에러가 나나 좀 고민을 했다. 정수 타입 곱하기 정수 타입을 하면 정수이기 때문에 큰 숫자 롱 타입을 담을 수 없다는 것을 눈치채서 형 변환을 시켜줫더니 결과가 잘 나왔다.
5) 참고
2. 자바 변수와 자료형 (3) byte, short, int, long - 삐멜 소프트웨어 엔지니어
이 포스트에서는 자바 프로그래밍 언어의 기본 자료형인 char, boolean, byte, short, int, long, float, double중에서 숫자를 표현 할 수 있는 byte, short, int, long에 대해 알아보도록 하겠다. 예상 독자 자바를
cselabnotes.com
반응형