728x90
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PzOCKAigDFAUq
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
< 📝 문제 >
N x N 배열 안의 숫자는 해당 영역에 존재하는 파리의 개수를 의미한다.
아래는 N=5 의 예이다.
![](https://blog.kakaocdn.net/dn/bnYYKk/btrtJCYS8K9/zF0NmWvxIVCdqg2N0GCYCk/img.png)
M x M 크기의 파리채를 한 번 내리쳐 최대한 많은 파리를 죽이고자 한다.
죽은 파리의 개수를 구하라!
예를 들어 M=2 일 경우 위 예제의 정답은 49마리가 된다
![](https://blog.kakaocdn.net/dn/bqrz2w/btrtMKPmX4c/1U9Aj6B0AD7aMH7DSVX5ak/img.png)
< ❓ 생각 >
< 💻 코드 >
# 테스트 케이스 개수
T = int(input())
for tc in range(1,T+1):
# N*N 배열, M*M 파리채 크기
N, M = map(int, input().split())
arr = [list(map(int,input().split())) for _ in range(N)]
# 최대값
max_v = 0
# (0,0) -> (N-M,N-M) 까지 확인하기
for i in range(N-M+1):
for j in range(N-M+1):
cnt = 0
# 사각형 크기 M*M
for x in range(i,i+M):
for y in range(j,j+M):
cnt += arr[x][y]
# 합의 최댓값 찾기
if max_v < cnt:
max_v = cnt
print(f'#{tc} {max_v}')
728x90
반응형
'TIL - 프로그래밍 > Python 알고리즘' 카테고리의 다른 글
[SWEA] 1974. 스도쿠 검증 - Python (0) | 2022.02.20 |
---|---|
[SWEA] 1979. 어디에 단어가 들어갈 수 있을까 - Python (0) | 2022.02.20 |
[SWEA] 5356. 의석이의 세로로 말해요 - Python (0) | 2022.02.20 |
[SWEA] 5432. 쇠막대기 자르기 - Python (0) | 2022.02.20 |
[SWEA] 1216. 회문2 - Python (0) | 2022.02.20 |
댓글