lhywk 님의 블로그

[Programmers] 배열 뒤집기 - Python, C 본문

Programming/Lv. 0

[Programmers] 배열 뒤집기 - Python, C

lhywk 2025. 11. 11. 17:04

https://school.programmers.co.kr/learn/courses/30/lessons/120821

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

문제

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


제한사항
  • 1 ≤ num_list의 길이 ≤ 1,000
  • 0 ≤ num_list의 원소 ≤ 1,000

Python

def solution(num_list):
    size = len(num_list)
    new_list = []
    for i in range(size):
        new_list.append(num_list[size - 1 - i])
    return new_list

 

풀이

먼저 리스트의 길이를 size 변수에 할당한다.

새로운 리스트 new_list 를 선언한다.

넘겨받은 파라미터 리스트 길이만큼 반복하여 새로운 리스트에 size - 1 - i을 하여 append 함수로 추가한다.

 

C

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// num_list_len은 배열 num_list의 길이입니다.
int* solution(int num_list[], size_t num_list_len) {
    // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
    int* new_list = (int *)malloc(sizeof(int) * (int)num_list_len);
    for (int i = 0; i < num_list_len; i++) {
        new_list[i] = num_list[num_list_len - 1 - i];
    }
    return new_list;
}

 

풀이

문제에서 return 값은 동적 할당을 하라고 주어진다.

new_list를 새로 선언하여 파라미터의 배열 길이 * int 만큼 곱하여 메모리 영역을 확보한다.

배열의 길이만큼 반복하여 끝자리 인덱스의 값을 새로운 배열에 넣어준다.

 

 

'Programming > Lv. 0' 카테고리의 다른 글

[Programmers] 뒤집힌 문자열 - Python, C  (0) 2025.11.11
[Programmers] 양꼬치 - Python, C  (0) 2025.11.08
[Programmers] 각도기 - Python, C  (0) 2025.11.08