문제
https://school.programmers.co.kr/learn/courses/30/lessons/181920
문제 설명
정수 start_num와 end_num가 주어질 때, start_num부터 end_num까지의 숫자를 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.
풀이
초기문, 증감문이 2개인 for문을 이용해 풀었다.
코드
class Solution {
public int[] solution(int start_num, int end_num) {
int[] answer = new int[end_num - start_num + 1];
for (int i = 0, j = start_num ; i < answer.length ; i++, j++) {
answer[i] = j;
}
return answer;
}
}
다른 사람의 코드
import java.util.stream.IntStream;
class Solution {
public int[] solution(int start, int end) {
return IntStream.rangeClosed(start, end).toArray();
}
}
import java.util.stream.IntStream;
public class test {
public static void main(String[] args) {
IntStream.range(1, 10).forEach(i -> {
System.out.println(i);
// 1~9까지 출력
});
}
}
range()의 두 번째 파라미터는 -1으로 가독성을 떨어트리니 두번 째 파라미터 범위를 포함하는 rangeClose() 메서드를 사용하자.
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Java] Lv.0 - 접두사인지 확인하기 (0) | 2023.08.30 |
---|---|
[프로그래머스/Java] Lv.0 - 접두사인지 확인하기 (0) | 2023.08.27 |
[프로그래머스/Java] Lv.0 - flag에 따라 다른 값 반환하기 (0) | 2023.08.27 |
[프로그래머스/Java] Lv.0 - n 번째 원소부터 (0) | 2023.08.27 |
[프로그래머스/Java] Lv.0 - 공배수 (0) | 2023.08.26 |