1. 오늘 학습한 내용
백준 동적프로그래밍 문제 10844번
사용언어 : 자바
2. 알게 된 내용
int, long에 관해
여러가지 글을 찾아보다가 int로 해도 된다는 말을 봐서 계속 int로 했으나 입력값이 크면 제대로된 값이 나오지 않았다. 타입을 long으로 바꿔보니 정상적으로 작동했다. (이 점 때문에 막혀서 어디가 문제인지 엄청 많이 헤맸다..) 내 소신대로 long으로 바꿔보기도 해봐야겠다.
동적프로그래밍에서의 점화식
이 문제가 처음에 이해는 갔지만 스스로의 힘으로 규칙을 찾는 게 조금 어렵고 오래걸렸다. 일단 표나 그래프 형태로 서로 연관을 찾아보고 점화식을 만들어보아야겠다. 그리고 0은 계단수가 1만 있고, 9는 계단수가 8만 있고, 나머지 숫자들은 +1,-1로 2개씩 있는데 이 점을 어떻게 연관지어서 점화식을 만들어야 할지 난감했었는데 여러 사람들의 풀이와 코드를 보면서 이렇게 내가 막힌 부분들은 따로 케이스를 빼면서 나머지 부분을 점화식으로 만들면 된다는 것을 알게 되었다.
참고한 사이트
https://www.youtube.com/watch?v=Rn9G6VrBKb4 (원리 및 코드 파악)
https://fbtmdwhd33.tistory.com/52 (코드 파악)
https://st-lab.tistory.com/134 (원리 파악)
3. 느낀 점
그동안 열심히 풀지 않은 제 자신을 반성합니다.. 앞으로는 꾸준히 매일 1문제씩이라도 풀어야겠다. 근데 오늘 1문제 푸는데에도 설명 찾아보고 이해하고 막힌 부분 해결하느라 은근 오래 걸렸다.. 그래도 꾸준히 해보자!
그리고 점화식 규칙을 찾아내는 게 아직 어려운데 규칙 찾을 때 난감한 부분은 따로 빼면 규칙이 괜찮아지는지도 확인해보는 것도 좋을 것 같다.