문제 : 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
앞으로 어떤 범위의 모든 수를 넣어야하는 일이 있으면 Stream을 떠올릴 생각을 해야한다.
그것을 위해서 스트림을 공부해보자