[알각코] 인프런 3-9 봉우리

봉우리

문제 정보는 인프런의 파이썬 알고리즘 문제풀이 코딩테스트에 있습니다!

문제풀이

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좌표