T = int(input())
for tc in range(1,1+T):
# 농장의 크기
n = int(input())
# 농장
farm = [list(map(int,input())) for _ in range(n)]
# 결과
res = 0
# 3가지 경우의 수
# 1. 0~n//2까지
for case1_i in range(0,n//2):
for case1_j in range(case1_i+1):
if case1_j == 0:
res += farm[case1_i][n//2]
else:
res += farm[case1_i][n//2+case1_j]
res += farm[case1_i][n//2-case1_j]
# 2. n//2
for case2_j in range(n):
res += farm[n//2][case2_j]
# 3. n//2+1 ~ n까지
for case3_i in range(n//2+1,n):
for case3_j in range(n-case3_i):
if case3_j == 0:
res += farm[case3_i][n//2]
else:
res += farm[case3_i][n//2+case3_j]
res += farm[case3_i][n//2-case3_j]
print('#{} {}'.format(tc,res))
그 외
문제 풀이를 위한 아이디어
1. 마름모를 만드는 과정을 세 부분으로 나눠서 생각 했음
1) 0 ~ n//2까지 : 마름모의 가로 길이가 커지는 과정
2) n//2 : 마름모 가로 길이가 가장 긴 부분
3) n//2+1 ~ n까지 : 마름모의 가로 길이가 점차 작아지는 과정
ps. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.
오류나 적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.
혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다
'코딩 문제해결 > 문제 풀이.SWEA' 카테고리의 다른 글
[SWEA 코딩] S/W 문제해결 기본 길찾기 - PYTHON #1219 (0) | 2021.03.05 |
---|---|
[SWEA 코딩] 태혁이의 사랑은 타이밍 - PYTHON #4299 (0) | 2021.03.04 |
[SWEA 코딩] 오목 판정 - PYTHON #11315 (0) | 2021.01.27 |
[SWEA 코딩] Professional 쥬스 나누기 - PYTHON #5601 (0) | 2021.01.26 |
[SWEA 코딩] C. Write and Erase - PYTHON #2386 (0) | 2021.01.26 |