거의 다 다 푸셨네요!
첫번째. 배열 번호 문제가 있습니다!
arr의 시작은 (0,1)이고 D의 시작은 (0,0)입니다! 이 점을 잘 생각해서 고쳐보세요!
두번째. 각 줄의 0번째와 마지막 번째를 따로 걸러서 하실 필요가 없습니다!
(이 부분을 잘 생각해보세요! arr와 D를 출력해보시면 금방 알 수 있습니다!)
1932번 - 정수 삼각형
거의 다 다 푸셨네요!
첫번째. 배열 번호 문제가 있습니다!
arr의 시작은 (0,1)이고 D의 시작은 (0,0)입니다! 이 점을 잘 생각해서 고쳐보세요!
두번째. 각 줄의 0번째와 마지막 번째를 따로 걸러서 하실 필요가 없습니다!
(이 부분을 잘 생각해보세요! arr와 D를 출력해보시면 금방 알 수 있습니다!)
배열 번호 문제는 arr를 입력 받았을때 for (int j = 0; j < i + 1; j++)로 고쳐서 해결 했는데
두번째로 따로 않 걸러도 된다는 것을 잘 이해 못하겠습니다.
i = 1, j = 0 일때 D[i][j] = max(D[i - 1][j], D[i - 1][j - 1]) + arr[i][j] 를 그대로 이용하면 D[i - 1][j - 1]이 D[0][-1] 이 돼서 런타임 에러가 나지 않을까요?????
아니면 그냥 D의 시작을 (1, 1)로 고치고 arr(1, 1)로 고칠까요??
아무튼 배열 번호 문제부터 고쳐서 예제가 잘 나와서 제출해 보니 틀립니다..도와주세요...
3분전에 말한 것 처럼 D, arr의 시작을 (1, 1)로 고치고 점화식을 일반화 시키니까 맞았어요!!!
걸러서 하는게 문제가 없을 거라고 생각했는데 그 부분에도 문제가 있었습니다.
아무튼 lee_seulbi 님 굉장히 감사합니다.
댓글을 작성하려면 로그인해야 합니다.
seanrocket17_2 6년 전 1
예제도 안나오네여..... 도와주세요.....