본문 바로가기
Algorithm

[프로그래머스] 카운트 다운

by andante131 2023. 8. 13.

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/181899

 

카운트 다운해서 배열에 하나씩 넣은 후 리턴하는 기초적인 문제이다.

 

솔루션: 

class Solution {
    public int[] solution(int start, int end) {
        int[] answer = {};

        if (start < end || start > 50 || end < 0 || end > 50) { 
            return answer;
        } else if (start == end ) { 
            answer = new int[1];
            answer[0] = start;
            return answer;
        } else {
            int size = start - end + 1;
            answer = new int[size];
            for (int i = 0; i < size; i++) {
                answer[i] = start;
                start--;
            }
            return answer;
        }

    }
}

 

나의 풀이는 기본적인 배열과 if문을 사용해서 풀었다. 장황하지만 확실한 방법이다.

 

 

고수의 풀이를 보자.

 

다른사람풀이:

 

IntStream과 rangeClosed라는... 자바 8버전의 라이브러리를 이용해서 한 줄로 요구사항을 풀어냈다.

 

 

intStream을 이용한 풀이

참고 : https://m.blog.naver.com/ding-dong/221386518751

 

Java8 IntStream으로 반복하기

Java를 처음 배우신 분들은 반복적으로 실행을 하기 위해서는 while, do-while, for를 배우셨을 것이다. ...

blog.naver.com

 

앞으로 어떤 범위의 모든 수를 넣어야하는 일이 있으면 Stream을 떠올릴 생각을 해야한다.

 

그것을 위해서 스트림을 공부해보자