짝수는 싫어요

난이도 하
화낼거양's avatar
Dec 23, 2024
짝수는 싫어요
Contents
정답 :
 
 
 

문제 설명

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

제한사항

  • 1 ≤ n ≤ 100

입출력 예

n
result
10
[1, 3, 5, 7, 9]
15
[1, 3, 5, 7, 9, 11, 13, 15]

입출력 예 설명

입출력 #1
  • 10 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9]를 return합니다.
입출력 #1
  • 15 이하의 홀수가 담긴 배열 [1, 3, 5, 7, 9, 11, 13, 15]를 return합니다.
 
기본적으로 주어진 코드 :
class Solution { public int[] solution(int n) { int[] answer = {}; return answer; } }
 

정답 :

 
import java.util.Arrays; class Solution { public int[] solution(int n) { int[] answer = {}; for (int i = n; i > 0; i--) { if (i % 2 != 0) { answer = Arrays.copyOf(answer, answer.length + 1); answer[answer.length - 1] = i; } } Arrays.sort(answer); return answer; } }
 
 

홀수 찾기

  • for (int i = n; i > 0; i--)n부터 1까지 반복합니다.
  • if (i % 2 != 0) 조건문을 사용하여 i가 홀수인지 확인합니다.
    • 홀수라면:
      • answer 배열의 길이를 1 늘려서 새로운 배열을 생성하고, 기존 배열의 값을 복사합니다 (Arrays.copyOf(answer, answer.length + 1)).
      • 마지막 인덱스에 현재 홀수 i를 저장합니다 (answer[answer.length - 1] = i).

3. 정렬

  • Arrays.sort(answer);를 사용하여 배열 answer를 오름차순으로 정렬합니다.
 
 

굳이 정렬을 한번 한 이유?

 
notion image
 
  • 그대로 반환했더니 배열 원소의 값을 오름차순으로 만들어야 하는 조건을 발견하였고, 정답 의도대로 배열 정렬을 진행하였습니다.
Share article

moohyun