알고리즘 문제풀기/인프런 강의 정답
47. 봉우리 (2차원 배열 탐색) [정렬 & 이분탐색(결정알고리즘) & 투포인트 알고리즘 & 스택]
코다람쥐
2022. 4. 18. 13:03
나의정답.
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
int main(int argc, char** argv) {
//freopen("input.txt", "rt", stdin);
int n, i, j, cnt = 0;
int row, col;
scanf("%d", &n);
row = n + 2;
col = n + 2;
int** arr = new int*[row];
for (i = 0; i < row; i++)
arr[i] = new int[col];
for (i = 0; i < row; i++) {
for (j = 0; j < col; j++) {
arr[i][j] = 0;
}
}
for (i = 1; i < row - 1; i++) {
for (j = 1; j < col - 1; j++) {
scanf("%d", &arr[i][j]);
}
}
for (i = 1; i < row - 1; i++) {
for (j = 1; j < col - 1; j++) {
if (arr[i + 1][j] >= arr[i][j])
continue;
if (arr[i - 1][j] >= arr[i][j])
continue;
if (arr[i][j + 1] >= arr[i][j])
continue;
if (arr[i][j - 1] >= arr[i][j])
continue;
cnt++;
}
}
printf("%d", cnt);
for (i = 0; i < n + 2; i++)
delete[] arr[i];
delete[] arr;
}