[프로그래머스/Java] Lv.0 짝수는 싫어요

febCho·2024년 3월 25일
0

코딩테스트

목록 보기
135/253
post-thumbnail

문제

정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.

- 제한사항

  • 1 ≤ n ≤ 100

풀이

n이 홀수라는 가정하에 int[] answer = new int[n/2 + 1]; 반환할 배열을 선언하고, 루프를 돌며 홀수만 배열에 담는다.

그리고 반환하기 전, n이 짝수라면 Arrays.copyOf(원본 배열, 복사할 길이)로 0으로 초기화 되어있는 값은 제거해 준다. ex) 테스트 케이스 1 : [1, 3, 5, 7, 9, 0]

import java.util.Arrays;

class Solution {
    public int[] solution(int n) {
        int[] answer = new int[n/2 + 1];
        
        int idx = 0;
        
        for(int i=1; i<=n; i+=2){
            answer[idx] = i;
            idx++;
        }
        
        if(n % 2 == 0) answer = Arrays.copyOf(answer, answer.length-1);
        
        return answer;
    }
}

결과

profile
Done is better than perfect.

0개의 댓글