# 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를 반환한다.
[채점 결과]
'알고리즘' 카테고리의 다른 글
[HackerRank] Insert a node at the head of a linked list / Missing Numbers (0) | 2021.05.09 |
---|---|
[HackerRank] Print the Elements of a Linked List / Insert a Node at the Tail of a Linked List (0) | 2021.04.11 |
[HackerRank] Arrays - DS / Equal Stacks (0) | 2021.03.24 |
[BOJ] 13235/2908 (0) | 2021.02.22 |
[BOJ] 4673/16503 (0) | 2021.02.17 |