[SWEA] 2805 - 농작물 수확하기 / Python / D3

KimYoungWoong·2022년 10월 29일
0
post-thumbnail

🚩문제 주소


📄풀이


중간을 기준으로 다시 감소하므로 중간값을 만들어줍니다.

반복문을 돌려서 i가 중간값이 될 때 까지는
result += sum(farm[i][mid-i:mid+1+i])
가운데에서부터 양 옆으로 한 개씩 늘려가며 더해주고,

넘어가면
result += sum(farm[i][i-mid:mid-i])
다시 한 개가 될 때까지 양 옆에서 한 개씩 없애주며 더해줍니다.



👨‍💻코드


T = int(input())
for t in range(T):
  n = int(input())
  farm = [list(map(int, input())) for _ in range(n)]
  result = 0
  mid = (n-1)//2
  for i in range(n):
    if i <= mid:
      result += sum(farm[i][mid-i:mid+1+i])
    else:
      result += sum(farm[i][i-mid:mid-i])
  
  print(f'#{t+1} {result}')

profile
블로그 이전했습니다!! https://highero.tistory.com

0개의 댓글