taejune9721   3년 전

이전 계단문제와는 다른 점이, 한 칸을 건너 뛰는 게 아니라 여러 칸을 건너 뛸 수 있다고 생각합니다.

그리고 또한, 문제에서 제시한 6 10 13 9 8 1 경우 dp에 저장되는 값이 [6 16 23 28 33 32] 이듯이, 마지막 자리의 값이 전체 dp중에 최댓값이 아니라는 것도 인지하게 되었습니다.

즉, n 자리가 n - 1 자리보다 작을 수 있기 때문에, 저는 한 칸 건너 뛰는 경우가 아니라 전체 건너뛰는 경우 중에 가장 큰 dp값을 x변수를 통해 찾아서 넣어주는 방식을 사용했는데요, 다들 이렇게 구현하지 않으셨는데 이게 불필요한 과정인가요??

또한, 경우의 수 중에 

(n - 2) 까지의 최댓값 + n의 값

(n - 3) 까지의 최댓값 + n - 1의 값 + n의 값

두가지에서, n-1까지의 최댓값 + n 자리를 밟지 않는 경우를 추가하라고 말해주시는데, 저는 위에서 볼 수 있듯이 n - 1까지의 최댓값보다 n - 2까지의 최댓값이 더 클 수도 있다고 생각이 되어서, n- 1이 아닌 모든 경우를 토대로 ans 변수에 넣어줬는데요. 이렇게 하는것도 불필요한건가요

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