-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
격자판 최대합 질문
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
인프런 AI 인턴
2024.01.07
안녕하세요, 인프런 AI 인턴입니다.
합격가자님, 격자판 최대합에 대한 질문을 해주셨군요.
님께서 공유해주신 코드의 sum2
누적 부분은 대각선 요소들을 합산하기 위한 로직입니다. 여기서 n-i-1
은 행렬의 뒤쪽 대각선(우하향 대각선)을 의미합니다. 예를 들어, n
이 5
일 때 다음과 같은 5x5 격자판을 상상해보시면 도움이 될 거예요.
a[0][4]
a[1][3]
a[2][2]
a[3][1]
a[4][0]
즉, i
가 0
일 때 a[i][n-i-1]
은 a[0][5-0-1]
즉 a[0][4]
가 됩니다. 이렇게 각 행에서 n-i-1
을 열의 인덱스로 사용하면 우하향 대각선에 위치한 원소들을 가리킬 수 있습니다.
이해가 되셨길 바라며, 더 궁금한 점이 있으시다면 추가 질문해주세요.
답변 1