728x90
프로그래머스 _ 코딩 기초 트레이닝 DAY 7 - (3)
출처 - https://school.programmers.co.kr/learn/courses/30/lessons/181920
문제 | 정수 start와 end가 주어질 때, start부터 end까지의 숫자를 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.
입력 #1 | start 3 end 10
출력 #1 | [3, 4, 5, 6, 7, 8, 9, 10]
>> 풀이 <<
반복문 대신 IntStream을 이용하여 풀어보려고 한다. 원소에 따라 DoubleStream, LongStream 등이 있다.
- 스트림 생성 -> IntStream
- 숫자 범위 생성하기 -> range(start,end)
- 예를 들어 range(1,4) 라고 한다면 1,2,3 이 포함된다.
- 만약 end까지 포함시키고 싶다면 rangeClosed(start, end) 를 사용한다.
만약 일정범위의 숫자를 출력하고싶다면 forEach(System.out::println) 을 사용한다. 하지만 나는 이를 이용해 배열생성을 하고싶으므로 toArray()를 사용했다.
IntStream을 사용하고 싶다면 java.util.stream.IntStream 를 선언해야 한다!
import java.util.stream.IntStream;
class Solution {
public int[] solution(int start, int end) {
int[] ans = IntStream.rangeClosed(start,end).toArray();
return ans;
}
}
'코딩테스트 > 프로그래머스 Lv.0' 카테고리의 다른 글
[프로그래머스] 문자열 여러 번 뒤집기 (String.valueOf vs toString) - JAVA (0) | 2023.07.13 |
---|---|
[프로그래머스] 9로 나눈 나머지 (char to int) - JAVA (0) | 2023.07.12 |
[프로그래머스] 배열 만들기2 ( Array to List, List to Array ) - JAVA (0) | 2023.07.10 |
[프로그래머스] 수열과 구간 쿼리 2 - JAVA (0) | 2023.07.09 |
[프로그래머스] 수 조작하기1 - JAVA (0) | 2023.07.07 |