# 2D Array - DS  (array)

[문제]

 

[코드]

int hourglassSum(int** arr) {
    int max = -63;
    int value;
    
    for(int i=1; i<=4; i++)
    {
        for(int j=1; j<=4; j++)
        {
            value = arr[i][j]+arr[i-1][j-1]+arr[i-1][j]+arr[i-1][j+1]+arr[i+1][j-1]+arr[i+1][j]+arr[i+1][j+1];
            max = max > value ? max : value;
        }
    }
    return max;
}

[코드설명]

max: 모래시계 패턴 합의 최댓값

value: 모리시계 패텁 합

 

모래시계 패턴의 가운데를 arr[i][j]으로 정하고, 나머지 인덱스에 해당하는 값을 모두 더해 value에 저장한다.

max와 value 중 더 큰 값을 max에 저장한다.

바깥쪽 for문은 i, 안쪽 for문은 j 인덱스를 나타내고 각각 1부터 4까지 증가한다.

max를 반환한다.

 

[채점 결과]

 

 

 

 

 

# Intro to Tutorial Challenges  (sorting)

[문제]

 

[코드]

int introTutorial(int V, int arr_count, int* arr) {
    int i;
    for(i = 0; i < arr_count; i++)
        if(arr[i] == V)	break;
        
    if(i == arr_count)
    	return -1;
        
    return i;
}

[코드설명]

i: arr의 인덱스

 

i를 arr_count-1까지 증가시키면서 arr[i]와 V가 같은지 검사한다.

arr[i]와 V가 같다면 반복문을 종료하고 현재 인덱스 값 i를 반환한다.

 

[채점 결과]

복사했습니다!