본문 바로가기

CodingTest/SW Expert Academy

[ SW Expert Academy ] 2001. 파리퇴치

1 차 제출. [ 5 / 10 ] Fail

헐 최악의 경우다.. 테케 맞고 정답인 줄 알았는데 히든테케에서 걸리는 경우..

이게 진짜 망하는거다.. 

꼭 예외케이스 걸러내자 . ㅜㅜㅜ

T = int(input())
for tc in range(1, T+1):
    answer = 0
    n, m = map(int, input().split())
    board = [list(map(int, input().split())) for _ in range(n)]
    for i in range(n-m):
        for j in range(n-m):
            catch = 0
            for a in range(m):
                for b in range(m):
                    catch += board[i+a][j+b]
            answer = max(answer, catch)
    print('#{} {}'.format(tc, answer))

 

아효 .. 그래도 30초만에 프린트 찍어서 디버깅했다..

i, j 각각의 for문에서 덜 돌고 있었다. 

범위를 n-m+1로 잡아줬어야 했는데 n-m 으로ㅓ 해서 마지막 행, 마지막 열을 계산 안 하고 있었다.

으유 ㅋ😡

 

 

2차 제출 [ 10 / 10 ] PASS

T = int(input())
for tc in range(1, T+1):
    answer = 0
    n, m = map(int, input().split())
    board = [list(map(int, input().split())) for _ in range(n)]
    for i in range(n-m+1):
        for j in range(n-m+1):
            catch = 0
            for a in range(m):
                for b in range(m):
                    catch += board[i+a][j+b]
            answer = max(answer, catch)
    print('#{} {}'.format(tc, answer))