rkdeo4104   1년 전

아래 코드 줄19~21을

 for j in range(2,n):

    d[0][j] = max(d[1][j-1],d[1][j-2]) + a[0][j]

    d[1][j] = max(d[0][j-1],d[0][j-2]) + a[1][j] 

이렇게 바꾸면 결과가 다르게 나오는데 이유가 뭘까요??

rkdeo4104   1년 전

그리고 채점하면(코드 바꾼 후) 99%에서 런타임에러(indexerror)뜨는데 어떻게 해결해야할까요??

djm03178   1년 전

아래 질문에 대해 답변드리자면, n이 1일 때 16, 18번째 줄의 a[1]이 존재하지 않아서 문제가 됩니다.

djm03178   1년 전

원래 질문에 대한 답변은, for문이 도는 순서상 원래 i가 0인 경우를 전부 다 돌고 그 뒤에 i가 1인 경우를 다 돌아야 하는데 본문의 코드는 i가 0과 1인 경우를 동시에 진행하고 있기 때문에 달라집니다.

rkdeo4104   1년 전

소중한 답변 감사합니다!

댓글을 작성하려면 로그인해야 합니다.