인프런 커뮤니티 질문&답변

합격가자님의 프로필 이미지
합격가자

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

6. 격자판 최대합

격자판 최대합 질문

작성

·

117

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 인턴입니다.
합격가자님, 격자판 최대합에 대한 질문을 해주셨군요.

님께서 공유해주신 코드의 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을 열의 인덱스로 사용하면 우하향 대각선에 위치한 원소들을 가리킬 수 있습니다.

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

합격가자님의 프로필 이미지
합격가자

작성한 질문수

질문하기