프로그래머스 카운트 다운

KIMYEONGJUN·2026년 6월 10일
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

정수 start_num와 end_num가 주어질 때, start_num에서 end_num까지 1씩 감소하는 수들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.

내가 이 문제를 보고 생각해본 부분

Main46 클래스 내부에 Solution이라는 static 내부 클래스를 정의하고 있다.
이 클래스 안에 solution 메서드가 구현되어 있다.
solution 메서드는 두 개의 정수 start_num과 end_num을 입력받아, start_num부터 end_num까지 감소하는 숫자를 담은 배열을 반환한다.
먼저 배열의 크기를 start_num - end_num + 1로 계산하여 배열 answer를 생성한다.
여기서 +1은 두 숫자 모두 포함하기 위함이다.
for 반복문은 0부터 size - 1까지 반복하면서 배열의 각 인덱스에 start_num에서 i를 뺀 값을 할당한다.
즉, 배열 첫 번째 요소는 start_num, 두 번째 요소는 start_num - 1 이런 식으로 채워진다.
완성된 배열 answer를 반환한다.
main 메서드에서는 Solution 객체를 만들어 solution 메서드를 호출하고 결과 배열을 저장한다.
이후 for 문을 사용하여 배열의 각 값을 출력하며, 요소 사이에 쉼표와 공백을 넣어 [10, 9, 8, 7, 6, 5, 4, 3]과 같이 보이도록 출력한다.
마지막에 System.out.println()으로 배열 출력 종료를 알리는 대괄호 닫기 및 줄바꿈을 한다.

코드로 구현

class Solution {
    public int[] solution(int start_num, int end_num) {
        int size = start_num - end_num + 1;
        int[] answer = new int[size];
        
        for (int i = 0; i < size; i++) {
            answer[i] = start_num - i; 
        }
        
        return answer;
    }
}

프로그래머스 코드

package programmers;

// 프로그래머스 카운트 다운
public class Main46 {
    // solution 메서드를 포함한 클래스를 별도로 구현해도 되고,
    // 여기에 넣어도 됨
    static class Solution {
        public int[] solution(int start_num, int end_num) {
            int size = start_num - end_num + 1;
            int[] answer = new int[size];

            for (int i = 0; i < size; i++) {
                answer[i] = start_num - i;
            }

            return answer;
        }
    }

    public static void main(String[] args) {
        Solution sol = new Solution();

        // 예시: 10부터 3까지 카운트 다운
        int start_num = 10;
        int end_num = 3;

        int[] result = sol.solution(start_num, end_num);

        // 결과 출력
        System.out.print("[");
        for (int i = 0; i < result.length; i++) {
            System.out.print(result[i]);
            if (i < result.length - 1) System.out.print(", ");
        }
        System.out.println("]");
    }
}

위에 있는 코드를 변경한 코드

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글