코딩 테스트 풀이 9 - 짝수는 싫어요

배효림·2023년 3월 20일
0

코딩테스트

목록 보기
9/20

✔ 문제

https://school.programmers.co.kr/learn/courses/30/lessons/120813?language=java

💡 접근 방법

생각난 접근 방법은 총 세 가지이다.

  1. 반복문을 돌려 i%2 != 0 검사
  2. 반복문을 돌려 i+=2
  3. Stream Filter 의 사용

시간 자체는 미세하게 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();
}
profile
항상 위를 바라보는 프로그래머

0개의 댓글