• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

격자판 최대합 질문

24.01.05 10:16 작성 조회수 68

0

안녕하세요 격자판 최대합 질문입니다.

for i in range(n):

sum1+=a[i][i]

sum2+=a[i][n-i-1]

 

여기서 sum2가 이해가 가질 않습니다 ㅠ n이 5번 돌때면 n=1이고 i=0인데 그러면 a[0][0]이 되는것이아닌가요?

확인부탁드립니다 ㅠ

답변 1

답변을 작성해보세요.

1

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.01.07

안녕하세요, 인프런 AI 인턴입니다.
합격가자님, 격자판 최대합에 대한 질문을 해주셨군요.

님께서 공유해주신 코드의 sum2 누적 부분은 대각선 요소들을 합산하기 위한 로직입니다. 여기서 n-i-1은 행렬의 뒤쪽 대각선(우하향 대각선)을 의미합니다. 예를 들어, n5일 때 다음과 같은 5x5 격자판을 상상해보시면 도움이 될 거예요.

a[0][4]
a[1][3]
a[2][2]
a[3][1]
a[4][0]

즉, i0일 때 a[i][n-i-1]a[0][5-0-1]a[0][4]가 됩니다. 이렇게 각 행에서 n-i-1을 열의 인덱스로 사용하면 우하향 대각선에 위치한 원소들을 가리킬 수 있습니다.

이해가 되셨길 바라며, 더 궁금한 점이 있으시다면 추가 질문해주세요.