[SWEA] 2805. 농작물 수확하기

야금야금 공부·2023년 5월 9일
0

SWEA

목록 보기
29/43
post-thumbnail

2805. 농작물 수확하기


문제 풀이

  • total에 해당하는 배열의 모든 값을 저장한다.
  • 가운데 빨간 열의 값은 모두 arr[j][[n//2] 이므로 횟수만큼 더해준다.
  • 가운데 값의 양옆 칸(파란칸)은 q로 범위를 지정해 더 해준다.
    • 1행은 1까지의 q를 가지고
    • 2행은 2까지의 q를 가진다.
    • (n/2 + 1)행부터는 다시 q의 범위가 줄어든다.
t = int(input())

for i in range(1, t + 1):

    n = int(input())
    arr = [list(input()) for _ in range(n)]
    total = 0

    for j in range(n // 2 + 1):
        total += int(arr[j][n // 2])

        for q in range(1, j + 1):  # 1행은 1개의 q, 2행은 2개의 q
            total += int(arr[j][n // 2 - q])
            total += int(arr[j][n // 2 + q])

    for j in range(n // 2 + 1, n):
        total += int(arr[j][n // 2])
        for q in range(1, n - j):
            # print(arr[j][n // 2 - q], arr[j][n // 2 + q])
            total += int(arr[j][n // 2 - q])
            total += int(arr[j][n // 2 + q])

    print(f"#{i} {total}")

0개의 댓글