문제 설명
정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.
제한사항
1 ≤ n ≤ 100
풀이
for문을 사용해야한다는것만 떠오르고 다음이 떠오르지않아 애먹었던 문제입니다.
stream을 사용하면 더욱 간결하고 쉬운코드로 작성이가능합니다.
answer 배열을 초기화하고 짝수와 홀수를 구분하기 위해서 size변수를 사용해줍니다.
n이짝수일때와 홀수일때를 고려해 삼항연산자로 작성합니다.
홀수 값을 계산하고 배열에 할당합니다.
class Solution {
public int[] solution(int n) {
int size = (n % 2 == 0) ? (n / 2) : (n / 2 + 1);
int[] answer = new int[size];
for (int i = 0; i < size; i++) {
answer[i] = 2 * i + 1;
}
return answer;
}
}
stream을 사용할 경우
import java.util.stream.IntStream;
class Solution {
public int[] solution(int n) {
return IntStream.rangeClosed(1, n)
.filter(x -> x % 2 != 0)
.toArray();
}
'코딩기록 저장소 🐕 > 코테' 카테고리의 다른 글
프로그래머스 Java 모음 제거 (0) | 2024.02.13 |
---|---|
프로그래머스 Java 자릿수 더하기 (0) | 2024.02.05 |
프로그래머스 Java제곱수 판별하기 (0) | 2024.01.18 |
프로그래머스 Java주사위 게임 1 (0) | 2024.01.17 |
프로그래머스 Java홀짝에 따라 다른 값 반환하기 (0) | 2024.01.16 |