inblog logo
|
moohyun
    알고리즘문제풀기

    짝수는 싫어요

    난이도 하
    화낼거양's avatar
    화낼거양
    Dec 23, 2024
    짝수는 싫어요
    Contents
    정답 :
     
     
    출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120813
     

    문제 설명

    정수 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
    Contents
    정답 :

    moohyun

    RSS·Powered by Inblog