문제
💡 문제
정수 start_num 와 end_num가 주어질 때, start_num에서 end_num까지 1씩 감소하는 수들을 차례로 담은 리스트를 return하도록 solution 함수를 완성해주세요.
💡 제한 사항
0 ≤ end_num ≤ start_num ≤ 50
입력 (start_num, end_num) | 출력 |
10, 3 | [10, 9, 8, 7, 6, 5, 4, 3] |
풀이
class Solution {
public int[] solution(int start_num, int end_num) {
int[] answer = new int[start_num - end_num + 1];
for(int i = 0; i < answer.length; i++){
answer[i] = start_num--;
}
return answer;
}
}
- 정해진 갯수의 배열을 선언 후에, 반복문으로 넣어주면 된다.
- 사실 List를 toArray 메서드로 바꾸려고 했는데 컬렉션 프레임워크는 객체만 넣을 수 있으므로, wrapper 객체인 Integer의 배열로 반환되는 걸 까먹고 있었다.
import java.util.*;
class Solution {
public List<Integer> solution(int start_num, int end_num) {
List<Integer> answer = new ArrayList<>();
for(int i = start_num; i >= end_num; i--){
answer.add(i);
}
return answer;
}
}
- Programmers에서 리스트를 반환하라고 할 때는 굳이 초기에 배열로 주어진다 하더라도, List로 반환값을 바꿀 수 있다. int가 아니라 Integer로 반환해도 정답처리해준다. 개꿀 ! 아주 조금 더 느리지만 훨씬 편하다.
'Java.APS > APS.Programmers' 카테고리의 다른 글
[Programmers] 최댓값과 최솟값 (1) | 2023.12.03 |
---|---|
[Programmers] Lv 2. [PCCP 기출문제]2번] (1) | 2023.11.28 |
[Programmers] 문자열 붙여서 출력하기 (1) | 2023.11.27 |
[Programmers] Lv 0. 정수 부분 (0) | 2023.11.27 |
[Programmers] Lv 0. 공배수 (0) | 2023.11.27 |