프로그래머스 카운트업

Tae hyun·2023년 5월 31일
0

코딩테스트

목록 보기
3/5

https://school.programmers.co.kr/learn/courses/30/lessons/181920
문제 설명
정수 start와 end가 주어질 때, start부터 end까지의 숫자를 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.

제한사항
0 ≤ start ≤ end ≤ 50

나의 풀이

class Solution {
    public int[] solution(int start, int end) {
        int[] answer = new int[end-start+1];
        for(int i=0;i<answer.length;i++){
            answer[i]=start;
            start=start+1;
        }
        return answer;
    }
}

새롭게 알게된 풀이

import java.util.stream.IntStream;

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

*기본형 특화 스트림
스트림 API는 박싱 비용을 피할 수 있도록 IntStream, DoubleStream, LongStream을 제공한다.

IntStream사용법

import java.util.stream.IntStream;
public class IntStreamRange{
	public static void main(String[]args){
    	System.out.println("range:");
        Intstream.range(0,10).forEach(System.out::println);
        
        System.out.println("rangeClosed:");
        IntStream.rangeClosed(0,10).forEach(System.out::println);
        
        System.out.println("sum:");
        System.out.println(IntStream.range(0,10).sum());
        
        System.out.println("max:");
        System.out.println(IntStream.range(0,10).max());
        
        System.out.println("min:);
        System.out.println(IntStream.range(0,10).average());
        
        System.out.println("average:");
        System.out.println(IntStream.range(0,10).average());
    }
}

range()는 종료 값을 포함하지 않으며, rangeClose()는 종료값을 포함한다.

출처
https://www.devkuma.com/docs/java/stream-api/int-stream/
https://cornswrold.tistory.com/545

profile
안녕하세요 개발하는 알파카입니다. https://github.com/oh-taehyun

0개의 댓글