[Java] 카운트 업

peace w·2023년 10월 8일
0

프로그래머스

목록 보기
21/25

문제

  • 정수 start_numend_num가 주어질 때, start_num부터 end_num까지의 숫자를 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.

  • 제한사항

    • 0 ≤ start_numend_num ≤ 50

입출력 예

  • 입출력 예 #1
    • 3부터 10까지의 숫자들을 담은 리스트 [3, 4, 5, 6, 7, 8, 9, 10]를 return합니다

문제 풀이

  • 두 수의 차를 변수로 선언하고, 두 수의 차 +1의 길이로 answer 배열을 만들었다.
  • for문으로 반복하며 answer[i]에 start_num를 넣고, 1씩 더해주었다.
class Solution {
    public int[] solution(int start_num, int end_num) {
        int difference = end_num - start_num; // 두 수의 차
        int[] answer = new int [difference + 1];
        
        for(int i = 0; i <= difference; i++) {
                answer[i] = start_num++;
        }
        
        return answer;
    }
}

IntStreamrangerangeClosed는 특정 숫자를 차례로 생성하는 기능을 한다.
range는 종료값을 포함하지 않고, rangeClosed는 종료값을 포함한다.

InStream.range(1, 5); // 1, 2, 3, 4
InStream.range(1, 5); // 1, 2, 3, 4, 5

IntStream.rangeClosed를 사용해서 아래처럼 수정했다.

import java.util.stream.IntStream;

class Solution {
    public int[] solution(int start, int end) {
        return IntStream.rangeClosed(start, end).toArray();
    }
}
profile
더 성장하자.

0개의 댓글