문제 바로가기
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
나의 코드 및 설명
- 2중 for문을 통해 m*m의 파리채 중 시작 좌표를 정할 수 있다.
- 시작 좌표를 정한다면 하위에 for문을 하나 더 작성하여, 파리채의 크기에 해당하는 숫자들을 더해준다.
t = int(input())
for test_case in range(1, t+1):
n, m = map(int, input().split()) #n:가로세로 m:파리채 크기
board = []
#전체 보드를 채운다.
for _ in range(n):
board.append(list(map(int, input().split())))
catch = []
#파리채의 크기에 따라 for문의 범위가 달라진다.
for i in range(n-m+1):
for j in range(n-m+1):
temp_catch = 0
#파리채를 내리쳤을 때 시작 좌표를 기준으로
#파리채의 크기에 해당하는 보드의 숫자들을 더해준다.
for k in range(m):
#가로에 해당하게 된다.
#for문이 m-1번 반복되면서 자연히 세로도 더해줄 수 있다.
temp_catch += sum(board[i+k][j:j+m])
catch.append(temp_catch)
print("#{} {}".format(test_case, max(catch)))
'SWEA (SW Expert Academy) > D2' 카테고리의 다른 글
[SWEA/D2] 1954 달팽이 숫자 / BFS (0) | 2023.04.22 |
---|---|
[SWEA/D2] 1959 두 개의 숫자열 (0) | 2023.04.22 |
[SWEA/D2] 1974 스도쿠 검증 (0) | 2023.04.21 |
[SWEA/D2] 1979 어디에 단어가 들어갈 수 있을까 (0) | 2023.04.21 |
[SWEA/D2] 1859 백만 장자 프로젝트 (0) | 2023.04.21 |