import java.util.List;
import java.util.ArrayList;
class Solution {
public int[] solution(int n) {
List<Integer> list = new ArrayList<>();
for(int i=1; i<=n; i+=2) {
list.add(i);
}
int[] answer = new int[list.size()];
for(int i=0; i<list.size(); i++) {
answer[i] = list.get(i);
}
return answer;
}
}
먼저 List에 값을 담고 int[] 배열로 옮겨 반환한다.
class Solution {
public int[] solution(int n) {
int size = n % 2 == 0 ? n / 2 : (n / 2 + 1);
int[] answer = new int[size];
int num = 0;
for(int i=1; i<=n; i+=2){
answer[num] = i;
num++;
}
return answer;
}
}
배열의 크기를 계산한 뒤 값을 배열에 바로 넣어준다.
import java.util.stream.IntStream;
class Solution {
public int[] solution(int n) {
return IntStream.rangeClosed(0, n).filter(value -> value % 2 == 1).toArray();
}
}
IntStream을 이용한 다른 분의 풀이
'Coding Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스/자바] 가위 바위 보 (0) | 2023.05.04 |
---|---|
[프로그래머스/자바] 배열 만들기 1 (0) | 2023.05.02 |
[프로그래머스/자바] 홀짝에 따라 다른 값 반환하기 (0) | 2023.05.02 |
[프로그래머스/자바] 배열의 유사도 (0) | 2023.05.02 |
[프로그래머스/자바] 피보나치 수 (0) | 2023.05.02 |