주어진 2차원 리스트에서 현재 값의 상하좌우를 비교해 현재 값이 가장 큰 경우 봉오리라고 한다.
해당 2차원 리스트에 봉오리의 총갯수를 구하라
이때 2차원 리스트의 가장자리는 0이라고 한다.
문제 풀이
#봉우리
import sys
#sys.stdin = open("input.txt", "r")
n = int(input())
a = [list(map(int,input().split())) for _ in range(n)]
a.insert(0, [0]*n)
a.append([0]*n)
for i in a:
i.insert(0, 0)
i.append(0)
cnt = 0
dx = [-1,1,0,0]
dy = [0,0,-1,1]
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)
insert( )와 append( )를 사용해서 가장자리를 0으로 만들어 준다. (위 아래는 해당 갯수만큼 그냥 추가 해주면 됨)
2차원 리스트이기 때문에 a로 돌면 행을 기준으로 돌게 된다. 그래서 for 문으로 insert( ), append( )를 하게 되면 앞 뒤로 추가하게 되는 것이다