[프로그래머스 | LEVEL0 | JAVA] 카운트 업

BIN·2024년 4월 5일

프로그래머스

목록 보기
15/24

🔎 문제

⭕ 풀이

  • start_num부터 end_num까지 반복하게 되면 배열의 위치를 따로 계산해주어야 하므로 배열의 크기를 end_num - start_num으로 계산해주고 해당 배열 크기만큼 반복을 해준다.
    배열의 값은 start_num 기준으로 1씩 증가하므로 반복문 마지막에 +1을 해주었다.
class Solution {
    public int[] solution(int start_num, int end_num) {
        int diff = end_num - start_num;
        int[] answer = new int[diff+1];
        
        for(int i=0 ; i<=diff ; i++){
            answer[i] = start_num;
            start_num++;
        }
        return answer;
    }
}

//다른 풀이
import java.util.stream.IntStream;

class Solution {
    public int[] solution(int start, int end) {
        return IntStream.rangeClosed(start, end).toArray();
    }
}

📌 KEYPOINT

  • 다른 풀이들을 살펴보다가 심플하게 적혀있는 풀이가 있어서 가져와 봤다.

IntStream.range(rangeClosed)

  • 원리만 파악하면 간단하다.
    IntStream.range(a, b)
    IntStream.rangeClosed(a, b)
    위 두 형태로 사용되며 데이터타입이 Integer인 것들을 a부터 b까지 순서대로 출력해주는 함수이다.
    다만, range는 a부터 b-1까지만 출력을 하며 rangeClosed의 경우는 a부터 b까지 출력을 해준다.

toArray();

  • IntStream.rangeClosed()를 통해 출력한 값들을 배열로 변환해주는 함수이다.

💗 느낀점

  • 다양한 함수들의 사용으로 소스의 길이를 줄이니까 보기 좋다...다양한 함수들을 활용해 봐야겠다
profile
A new developer...Bin

0개의 댓글