봉우리

이세진·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개의 댓글