정수 n이 주어질 때, 1부터 n까지의 숫자 중 홀수만 배열에 담아 반환하는 문제이다.
ex) n = 10이면:
[1, 3, 5, 7, 9]
n = 11이면:
[1, 3, 5, 7, 9, 11]
1부터 n까지 홀수가 몇 개인지 를 구한후 배열의 크기를 정한다.
n이 짝수 → 홀수의 개수는 n / 2n이 홀수 → 홀수의 개수는 n / 2 + 1그다음 1부터 시작해서 2씩 증가시키면 홀수만 배열에 저장한다.
class Solution {
public int[] solution(int n) {
int[] answer;
if (n % 2 == 0) {
answer = new int[n / 2];
} else {
answer = new int[n / 2 + 1];
}
int index = 0;
for (int i = 1; i <= n; i += 2) {
answer[index] = i;
index++;
}
return answer;
}
}
