https://school.programmers.co.kr/learn/courses/30/lessons/120821
class Solution {
public int[] solution(int[] num_list) {
int[] answer = new int[num_list.length];
for(int i = 0;i<num_list.length;i++){
answer[i]=num_list[num_list.length-i-1];
}
return answer;
}
}
class Solution {
public int[] solution(int[] num_list) {
List<Integer> list = new ArrayList<>();
for (int num : num_list) {
list.add(num);
}
Collections.reverse(list);
int[] answer = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
answer[i] = list.get(i);
}
return answer;
}
}
1) length는 1부터 시작한다.
배열 또는 String의 length, length()는 1부터 시작한다.
0부터 시작하는 인덱스와 헷갈린 것이다.
2) [length - i - 1] 을 활용하면 Array의 인덱스를 뒤집을 수 있다.
3) Collections.reverse() 함수를 사용하면 List를 쉽게 뒤집을 수 있다. 단, Array가 아닌 List 전용이다. 따라서 사용 이전에 자료형이 List인지 확인하자. 또한 Collections.reverse()를 사용하는 것이 속도도 더 빠르다.