봉우리
문제 정보는 인프런의 파이썬 알고리즘 문제풀이 코딩테스트에 있습니다!
문제풀이
dx = [-1, 0, 1, 0]
dy = [0, 1, 0, -1]
N = int(input())
a = [list(map(int, input().split())) for _ in range(n)]
a.insert(0, [0]*n)
a.append([0]*n)
for x in a:
x.insert(0, 0)
x.append(0)
cnt = 0
for i in range(1, N+1):
for j in range(1, N+1):
# 상하좌우 살피기
if all(a[i][j]>a[i+dx[k]][j+dy[k]] for k in range(4)):
cnt += 1
print(cnt)
여기서 키포인트는 상하좌우 좌표를 배열로 갖고있으면서, 해당 2차원배열을 돌때 for 문을 한번 더 써서 상하좌우를 살피도록 하는 것이다.
dx = [-1, 0, 1, 0] #x좌표
dy = [0, 1, 0, -1] #y좌표