문제 설명
정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ n ≤ 100
입출력 예nresult
10 | [1, 3, 5, 7, 9] |
15 | [1, 3, 5, 7, 9, 11, 13, 15] |
입출력 예 설명
입출력 #1
- 10 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9]를 return합니다.
입출력 #1
- 15 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9, 11, 13, 15]를 return합니다.
1. 기본 배열로 풀기
class Solution {
public int[] solution(int n) {
int[] answer = new int[(n+1)/2]; // 홀수 값만 넣을 배열
for(int i=1; i<=n; i++) { // 1부터 n번씩 돌면서 홀수값을 배열에 넣기
if(i%2 == 1) answer[i/2] = i;
}
return answer;
}
}
2. ArrayList로 풀기
import java.util.ArrayList;
class Solution {
public ArrayList solution(int n) {
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i=1; i<=n; i+=2) {
list.add(i);
}
return list;
}
}
3. Stream으로 풀기
import java.util.stream.IntStream;
class Solution {
public int[] solution(int n) {
return IntStream.rangeClosed(0,n).filter(value -> value%2 == 1).toArray();
//return IntStream.range(0,n+1).filter(value -> value%2 == 1).toArray();
//return IntStream.range(1,n+1).filter(value -> value%2 == 1).toArray();
}
}
- rangeClosed는 끝값을 포함하고, range는 끝값을 포함하지 않는다.
Stream으로도,, ArrayList로도,, 방법이 다양하다...
'algorithm > Programmers' 카테고리의 다른 글
[JAVA] 배열 뒤집기(세 가지 방법) (0) | 2023.01.11 |
---|---|
[JAVA] 최빈값 구하기 (0) | 2023.01.07 |
[JAVA] 프로그래머스 분수의 덧셈 (0) | 2022.12.07 |
[Summer/Winter Coding(~2018)] 예산 Java (0) | 2022.10.20 |
[JAVA] 프로그래머스 로또의 최고 순위와 최저 순위 (0) | 2022.10.13 |