https://school.programmers.co.kr/learn/courses/30/lessons/120813?language=java
생각난 접근 방법은 총 세 가지이다.
시간 자체는 미세하게 2 > 1 > 3 순으로 효율적이었다.
// 접근 방법 1
public int[] solution(int n)
{
int size = n % 2 == 0 ? n / 2 : n / 2 + 1;
int[] answer = new int[size];
for (int i = 1 ; i <= n ; ++i)
{
if (i % 2 == 1)
{
answer[i / 2] = i;
}
}
return answer;
}
// 접근 방법 2
public int[] solution(int n)
{
int size = n % 2 == 0 ? n / 2 : n / 2 + 1;
int[] answer = new int[size];
for (int i = 1 ; i <= n ; i+=2)
{
answer[i / 2] = i;
}
return answer;
}
// 접근 방법 3
public int[] solution(int n)
{
return IntStream.range(1,n + 1).filter(h -> h % 2 != 0).toArray();
}