포스트

배열 뒤집기

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 라이센스를 따릅니다.