C언어/주차별 문제

[12주차] 배열의 최소값 모두 더하기(동적 할당)

슈슈버거 2023. 6. 14. 00:52

문제


내가 작성한 코드

#include <stdio.h>
#include <stdlib.h>
#define ARRAY_SIZE 5

int foo(int (**arr), int x){
    int result = 0;
    int min = 0;

    for(int i = 0; i<x; i++){
        min = arr[i][0];
        //배열 내에서 최솟값 찾기
        for(int j = 0; j<5; j++){
            if(arr[i][j] <= min){
                min = arr[i][j];
            }
        }

        result += min;
    }

    return result;
}

int main() {
    int** arr;
    int x;
    int result;
    
    scanf("%d", &x);
    
    arr = (int**)malloc(sizeof(int*)*x);

    for(int i = 0; i<x; i++){
        arr[i] = (int*)malloc(sizeof(int)*ARRAY_SIZE); // 동적 할당
    }

    for(int i = 0; i < x; i++){
        for(int j = 0; j < ARRAY_SIZE; j++){
            scanf("%d", &arr[i][j]);
        }
    }
    
    result = foo(arr, x);
    printf("%d\n", result);
    
    free(arr);
    
    return 0;
}

'C언어 > 주차별 문제' 카테고리의 다른 글

[12주차] 동적 할당 응용  (0) 2023.06.14
[12주차] 동적 할당 기초  (0) 2023.06.14
[11주차] 제일 긴 문자열 찾기  (0) 2023.06.08
[11주차] 배열 원소 swap  (0) 2023.06.08
[11주차] 정방행렬의 덧셈  (0) 2023.06.08