반응형
리뷰
출력을 할때 콤마를 하나 넣어서 Fail이 되었다. 쩝
문제 풀이
- +와 x방향 분사가 가능하기에 벌레 퇴치 수에 대한 변수를 2개 사용해 주었다. 각각 변수1, 변수2로 가정
- 현재 위치에서 상하좌우로 m만큼 떨어진 공간에 스프레이를 뿌릴 수 있다면 해당 공간의 파리 수를 변수1에 더하기
- 2번과 마찬가지로 대각으로 m만큼 떨어진 공간에 스프레이를 뿌릴 수 있다면 해당 공간의 파리 수를 변수2에 더하기
- 미리 초기화 해둔 result 변수와 최대값을 비교하고 더 큰 수가 있다면 result에 저장해 준다.
- 테스트 케이스 번호와 함께 result값을 출력해 주면 된다.
참고 사항
출력할때는 신중히 하자..
정답 코드
def q12712():
# SWEA 12712번 D2 파리퇴치3 파이썬
t = int(input())
for i in range(1, t + 1):
n, m = map(int, input().split())
lst = [list(map(int, input().split())) for _ in range(n)]
result = 0
for j in range(n):
for k in range(n):
temp1 = 0
temp2 = 0
for l in range(-m + 1, m):
if 0 <= j + l < n:
temp1 += lst[j + l][k]
if 0 <= k + l < n:
temp1 += lst[j][k + l]
if 0 <= j + l < n and 0 <= k + l < n:
temp2 += lst[j + l][k + l]
if 0 <= j - l < n and 0 <= k + l < n:
temp2 += lst[j - l][k + l]
temp1 -= lst[j][k]
temp2 -= lst[j][k]
result = max(result, temp1, temp2)
print(f'#{i} {result}')
q12712()
728x90
반응형
'알고리즘 공부 > 파이썬(Python)' 카테고리의 다른 글
백준 2669번 직사각형 네개의 합집합의 면적 구하기 파이썬 (0) | 2024.06.26 |
---|---|
SWEA 1486번 D4 장훈이의 높은 선반 파이썬 (0) | 2024.06.26 |
SWEA 1961번 D2 숫자 배열 회전 파이썬 (0) | 2024.06.26 |
SWEA 1959번 D2 두 개의 숫자열 파이썬 (0) | 2024.06.26 |
SWEA 2063번 D1 중간값 찾기 파이썬 (0) | 2024.06.26 |