SWEA 2805 농작물 수확하기 (파이썬)

shon4bw·2021년 9월 2일
0

🧐1일 1알

목록 보기
19/24
post-thumbnail

내 코드

import sys
sys.stdin = open("input.txt")

T = int(input()) # 50
for tc in range(1, T + 1):
    N = int(input())
    farm = [list(input()) for _ in range(N)]
# [['1', '4', '0', '5', '4'], ['4', '4', '2', '5', '0'], [
# 인덱스 규칙 구하는 게 관건

    # 중간값을 구해야 뭐가 시작되겠군
    m = N//2 + 1
    sum_f = 0  # 칸에 있는 숫자 더해야지

    # x(row)를 몇 번 돌아야 해? -> N
    for x in range(1, N+1) : # 1,2,..5
        y = abs(m-x) + 1
        for _ in range(N-abs(m-x)*2) :
            sum_f += int(farm[x-1][y-1])  # 내가 처음에 str으로 받았잖아!
            y += 1
    print('#{} {}'.format(tc, sum_f))

포인트❕❗

❕ 마름모 모양이니 - 중간값 먼저 찾아주기, 절대값 떠올리기
❕❗ 손으로 직접 써가면서 규칙 찾아주기!
다른 분들은 더 간단하게 푸셨던데
난 그런 아이디어가 바로 떠오르지 않으니
이것 저것 넣어보며 생각해주는 수 밖에...!

처음엔 (0,0)으로 시작하는 걸로 했는데(연필)
첫 0으로 인해 규칙이 잘 보이지 않아서
(1,1)부터 넣어줬다!(파랑펜)

profile
cut_the_mustard

0개의 댓글