Adventure Time - Finn 3
본문 바로가기
코테연습/python

봉우리

by hyun9_9 2026. 4. 14.

지도 정보가 N*N 격자판에 주어집니다. 각 격자에는 그 지역의 높이가 쓰여있습니다. 각 격자 판의 숫자 중 자신의 상하좌우 숫자보다 큰 숫자는 봉우리 지역입니다. 봉우리 지역이 몇 개 있는 지 알아내는 프로그램을 작성하세요. 격자의 가장자리는 0으로 초기화 되었다고 가정한다. 만약 N=5 이고, 격자판의 숫자가 다음과 같다면 봉우리의 개수는 10개입니다.

 

import sys
# sys.stdin=open("input.txt","rt")
# n,m = map(int,input().split())
n = int(input())
# arr = list(map(int,input().split()))
# n = input()

arr = [list(map(int,input().split())) for _ in range(n)]

cnt = 0
# for i in range(n):
#     for j in range(n):
#         index = [i-1,i+1,j-1,j+1]
#         for idx,k in enumerate(index):
#             if k >= 0 and k < n:
#                 if idx < 2:
#                     if arr[i][j] <= arr[k][j]:
#                         break
#                 else:
#                     if arr[i][j] <= arr[i][k]:
#                         break
#         else:
#             # print(arr[i][j])
#             cnt +=1

x = [-1,0,1,0]
y = [0,1,0,-1]
for i in range(n):
    for j in range(n):
        for k in range(4):
            if 0<= i + y[k]<n and 0<= j + x[k]<n and arr[i][j] <= arr[i + y[k]][j + x[k]]:
                break
        else:
            cnt+=1
    
print(cnt)

'코테연습 > python' 카테고리의 다른 글

곳감(모래시계)  (1) 2026.04.14
격자판 최대합  (0) 2026.04.13
수들의 합  (0) 2026.04.13
두 리스트 합치기  (0) 2026.04.13
카드 역배치(정올 기출)  (0) 2026.04.12