배열 뒤집기 Lv. 0

박영준·2023년 4월 19일
0

코딩테스트

목록 보기
54/300

문제 설명

정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요.

class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = {};
        return answer;
    }
}

제한 사항

  • 1 ≤ num_list의 길이 ≤ 1,000
  • 0 ≤ num_list의 원소 ≤ 1,000

입출력 예

입출력 예 설명

  • 입출력 예 #1

    • num_list가 [1, 2, 3, 4, 5]이므로 순서를 거꾸로 뒤집은 배열 [5, 4, 3, 2, 1]을 return합니다.
  • 입출력 예 #2

    • num_list가 [1, 1, 1, 1, 1, 2]이므로 순서를 거꾸로 뒤집은 배열 [2, 1, 1, 1, 1, 1]을 return합니다.
  • 입출력 예 #3

    • num_list가 [1, 0, 1, 1, 1, 3, 5]이므로 순서를 거꾸로 뒤집은 배열 [5, 3, 1, 1, 1, 0, 1]을 return합니다.

해결법

방법 1

class Solution {
    public int[] solution(int[] num_list) {
    
        int[] answer = new int[num_list.length];		// num_list의 길이만큼 배열을 선언
        
        for(int i = 0; i < num_list.length; i++) {
            answer[i] = num_list[num_list.length - i - 1];
        }
        
        return answer;
    }
}

num_list = [1, 2, 3, 4, 5] 인 경우를 예시로 들어보면

  • answer[0] = num_list[5 - 0 - 1] → num_list[4]
  • answer[1] = num_list[5 - 1 - 1] → num_list[3]
  • answer[2] = num_list[5 - 2 - 1] → num_list[2]
  • answer[3] = num_list[5 - 3 - 1] → num_list[1]
  • answer[4] = num_list[5 - 4 - 1] → num_list[0]

방법 2

class Solution {
    public int[] solution(int[] num_list) {
    
        int[] answer = new int[num_list.length];
        
        int startIdx = 0;		// 역순으로 담을 인덱스를 선언
        
        for(int i = num_list.length - 1; i >= 0; i--) {
            answer[startIdx] = num_list[i];
            startIdx++;
        }
        
        return answer;
    }
}
  • int i = num_list.length - 1 : 초기값(시작값)

  • startIdx++

    • 다음 인덱스로 넘어가기 위해, +1을 한다

방법 3

import java.util.ArrayList;
import java.util.List;

class Solution {
    public List<Integer> solution(int[] num_list) {
    
        List<Integer> list = new ArrayList<Integer>();		// ArrayList 선언

        for (int i = num_list.length - 1; i >= 0; i--) {		// 역순으로
            list.add(num_list[i]);		// 값 추가
        }

        return list;
    }
}
  • ArrayList 를 사용하는 방법

배열 뒤집기

profile
개발자로 거듭나기!

0개의 댓글