[프로그래머스] 배열 뒤집기

Walter Mitty·2022년 10월 12일
1

Algorithm

목록 보기
11/29

문제 설명

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


제한사항

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


입출력 예

num_listresult
[1, 2, 3, 4, 5][5, 4, 3, 2, 1]
[1, 1, 1, 1, 1, 2][2, 1, 1, 1, 1, 1]
[1, 0, 1, 1, 1, 3, 5][5, 3, 1, 1, 1, 0, 1]

입출력 예 설명

입출력 예 #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합니다.

나의 풀이

class Solution {
    public int[] solution(int[] num_list) {
        int[] reverse = new int[num_list.length];
        for(int i=0; i<=num_list.length-1; i++) {
            reverse[i] = num_list[num_list.length-1-i];
        }
        return reverse;
    }
}

만약 크기가 5인 배열이라고 생각했을 때,

reverse[0] = num_list[5-1-0]
reverse[1] = num_list[5-1-1]
reverse[2] = num_list[5-1-2]
reverse[3] = num_list[5-1-3]
reverse[4] = num_list[5-1-4]

reverse 안에도 0~4로 증가, num_list에서 마지막 -도 0~4로 증가하므로 i로 치환하면 된다.

∴ reverse[ i ] = num_list[ num_list.length -1 -i ] 가 된다.

1개의 댓글

comment-user-thumbnail
2022년 10월 12일

@)==
츄파춥스 한 개 두고 갑니다.

답글 달기