배열 뒤집기
https://school.programmers.co.kr/learn/courses/30/lessons/120821
문제풀이
1 2 3 4 5 6 7 8 9 10 11
class Solution { public int[] solution(int[] num_list) { int[] reverse = new int[num_list.length]; for (int i = num_list.length - 1, j = 0; i >= 0; i--, j++) { reverse[j] = num_list[i]; } return reverse; } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14
// 오답 import java.util.Collections; import java.util.List; import java.util.Arrays; class Solution { public int[] solution(int[] num_list) { List<Integer> list = Arrays.asList(num_list); Collections.reverse(list); return list.toArray(new Integer[num_list.length]); } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
// 오답 풀이 import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Arrays; 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[] reversedArray = new int[num_list.length]; for (int i = 0; i < num_list.length; i++) { reversedArray[i] = list.get(i); } return reversedArray; } }
Arrays.asList()
메서드는 배열을 리스트로 변환하지만, 기본 자료형 배열(int[])에 대해서는 객체 배열이 아니기 때문에 제대로 작동하지 않는다.- 기본 자료형 배열(int[])을 리스트로 변환하는 여러 방법 중 하나는 수동으로 배열 요소를 리스트에 추가하는 것이다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.