본문 바로가기
Programming/Python

[ Python ] 상하좌우 탐색

by 코뮤(commu) 2021. 6. 23.
728x90
반응형

하나하나 수동으로 해줄 필요 없이, dx와 dy 리스트를 만들어 하면 편리하다.

 

 

 

dx = [-1,0,1,0]
dy = [0,1,0,-1]

n = int(input())
a = [[0]*(n+2)]+[[0]+list(map(int,input().split()))+[0] for _ in range(n)]+[[0]*(n+2)]
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)

 

 

dx = [-1,0,1,0]

dy = [0,1,0,-1]

 

 

이거랑 all함수 기억하고 있으면 될 것 같다.

 

 

 

 

 

 

위 코드는 위 그림과 같은 리스트 배열에서 상하좌우 값보다 큰 값(봉우리라 표현)의 개수를 찾아

출력하는 코드이다.

 

 

 

728x90
반응형