7월 4주차 과제 : 문제 2_배열 뒤집기

2023. 7. 30. 17:30Algorithm ( p & swlug )/Programmers

7월 4주차 과제는 다음과 같다.

1. 배열의 평균값
2. 배열 뒤집기
3. 배열자르기

두번째 문제이다.

해당 문제는 동적 메모리 할당이 나왔다. 기말고사 범위이긴 했는데,, 배열을 for문을 활용해서 배열인덱스값을 차례대로 나오게 한다음에 역순으로 나오도록 코드를 짜야겠다라는 생각이 들었다.

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

int* solution(int num_list[], size_t num_list_len) {
    // 동적 할당을 사용하여 배열 생성
    int* answer = (int*)malloc(num_list_len * sizeof(int));
    
    // 배열 num_list의 요소들을 answer로 역순으로 복사
    for (int i = 0; i < num_list_len; i++) {
        answer[i] = num_list[num_list_len - i - 1];
    }
    
    return answer;
}

int main() {
    int num_list[] = {1, 2}; // 예시 입력 배열
    size_t num_list_len = sizeof(num_list) / sizeof(num_list[0]);

    int* result = solution(num_list, num_list_len);

    // 결과 출력 (복사된 배열 역순으로 출력)
    for (int i = 0; i < num_list_len; i++) {
        printf("%d ", result[i]);
    }

    // 동적으로 할당한 메모리 해제
    free(result);
    return 0;
}

시간이 좀더 있다면 고민해보고 스스로도 풀어볼 수 있었을것 같은데(guru..😂)

어쩔 수 없이 여기 저기 도움을 좀 받아서 코드를 짰다.

완전히 이해한 상태로 업로드한게 아니기때문에 , 다시 풀어서 풀이를 올려야겠다.

( 추후에 설명 더 추가해서 올리겠습니다.! )