봉우리

이세진·2022년 4월 15일
0

코테준비

목록 보기
19/87

생성일: 2022년 1월 13일 오후 6:53

구현 코드

# 봉우리
import sys
sys.stdin = open("input.txt", "rt")
n = int(input())
m = [list(map(int, input().split())) for _ in range(n)]
for x in m:
    x.append(0)
    x.insert(0,0)
m.append([0]*(n+2))
m.insert(0, [0]*(n+2))

res = 0

for i in range(1, n+1):
    for j in range(1, n+1):
        mine = m[i][j]
        if m[i-1][j] < mine and m[i][j-1] < mine and m[i][j+1] < mine and m[i+1][j] < mine:
            res += 1
print(res)

모범 답안

import sys
#sys.stdin = open("input.txt", 'r')
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)

차이점

  • 내가 구현한 코드에서는 상하좌우의 값들을 확인하기 위해 길게 if문이 작성되었지만 모범답안에서는 all()을 이용하여 괄호 안의 모든 수식이 참임을 조사하는 코드를 간단하게 작성하였다.
profile
나중은 결코 오지 않는다.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN