• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

이건 왜 안되는걸까요?

22.06.13 17:18 작성 조회수 144

0

import sys
sys.stdin=open("input.txt", "rt")

n = int(input())
a = [list(map(int, input().split())) for _ in range(n)]
for i in a:
    i.insert(0, 0)
    i.append(0)
b = [0]*(n+2)
a.insert(0, b)
a.append(b)

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

def check(x, y):
    for i in range(4):
        nx = x+dx[i]
        ny = x+dy[i]
        if a[x][y] <= a[nx][ny]:
            return False
    return True

res = 0
for x in range(1, n+1):
    for y in range(1, n+1):
        if check(x, y):
            res += 1
print(res)
 
코드는 위와 같고요,
리스트 a는 잘 출력되는것으로 보아,
제가만든 check 함수의 설정에서 잘못된것 같은데, 논리상 어떤점 때문에 잘못 된 건지 모르겠습니다.

답변 1

답변을 작성해보세요.

0

깨위님의 프로필

깨위

2022.12.15

저도 같은 문제상황에 도달했는데,, 뭐가 문제인지 모르겠습니다..

아마 all이 아니여서 그런 것 같은데.. 진짜 이해가 안돼요