문제
N X N크기의 농장이 있다.
이 농장에는 이상한 규칙이 있다.
규칙은 다음과 같다.
① 농장은 크기는 항상 홀수이다. (1 X 1, 3 X 3 … 49 X 49)
② 수확은 항상 농장의 크기에 딱 맞는 정사각형 마름모 형태로만 가능하다.

1 X 1크기의 농장에서 자라는 농작물을 수확하여 얻을 수 있는 수익은 3이다.
3 X 3크기의 농장에서 자라는 농작물을 수확하여 얻을 수 있는 수익은 16 (3 + 2 + 5 + 4 + 2)이다.
5 X 5크기의 농장에서 자라는 농작물의 수확하여 얻을 수 있는 수익은 25 (3 + 2 + 1 + 1 + 2 + 5 + 1 + 1 + 3 + 3 + 2 + 1)이다.
농장의 크기 N와 농작물의 가치가 주어질 때, 규칙에 따라 얻을 수 있는 수익은 얼마인지 구하여라.
제약 사항
농장의 크기 N은 1 이상 49 이하의 홀수이다. (1 ≤ N ≤ 49)
농작물의 가치는 0~5이다.
입력
가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.
각 테스트 케이스에는 농장의 크기 N과 농장 내 농작물의 가치가 주어진다.
출력
각 줄은 '#t'로 시작하고, 공백으로 농장의 규칙에 따라 얻을 수 있는 수익을 출력한다.
(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)
내가 쓴 코드
T = int(input())
for t in range(T):
N = int(input())
arr = [list(map(int, input())) for _ in range(N)]
s = e = N // 2 # 중앙값
sum = 0
for r in range(N):
for c in range(s, e+1):
sum += arr[r][c]
if r < N//2:
s, e = s - 1, e + 1
else:
s, e = s + 1, e - 1
print(f'#{t+1} {sum}')
와 이것도 분명 맞는데 안돌아가는거다... 답이 안나와. 그래서 강사님 코드 봤더니 똑같아! 허허허^^ 이번엔 뭐가 틀렸게?ㅋㅋㅋㅋ 참나 어이가 없어.. arr input 받을 때 split()을 넣은거다 내가.. 입력 값엔 공백 없는데^^ㅎㅎㅎㅎ split 빼니까 아주 잘돌아가심^^ 오늘 바보인증 많이 하네. 힛.
출력 결과
#1 23
'Algorithm > Python' 카테고리의 다른 글
| [SWEA #11804] 탐욕 - 컨테이너 운반 (0) | 2024.02.28 |
|---|---|
| [SWEA #1234] 비밀번호 (0) | 2024.02.27 |
| [SWEA #1959] 두 개의 숫자열 (3) | 2024.02.27 |
| [BOJ #15650] N과 M(2) (6) | 2024.02.27 |
| [SWEA #1974] 스도쿠 검증 (1) | 2024.02.26 |