강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của wwscj555559705
wwscj555559705

câu hỏi đã được viết

Giới thiệu về giải bài toán bằng thuật toán Python (chuẩn bị cho bài kiểm tra viết mã)

9. Đỉnh núi

이건 왜 안되는걸까요?

Viết

·

300

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 함수의 설정에서 잘못된것 같은데, 논리상 어떤점 때문에 잘못 된 건지 모르겠습니다.
코테 준비 같이 해요! python

Câu trả lời 1

0

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

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

Hình ảnh hồ sơ của wwscj555559705
wwscj555559705

câu hỏi đã được viết

Đặt câu hỏi