목록백준 10844번 (1)
언젠가는

우선, 문제를 이해하는 데 조금 오래 걸렸다. 1의 자리 수일 때는 0을 제외한 모든 수가 계단수가 된다고 가정해야 두번째 자리의 계단 수를 찾을 수 있게 된다. 그리고, 자리수가 늘어날 때마다 1의자리수가 가장 왼쪽부터 시작한다고 생각하면 된다. 2자리 수일 때 0 옆에 올 수 있는 것은 1로 하나다, 1 옆에는 0과 1, 2부터 계속 두개씩 나오다가 9일 때는 8만 올 수 있다. 3자리 수일 때도 마찬가지일 것이다. 그렇다면 dp배열에다가 1자리 수를 입력해 놓고, 자리 수가 늘어날 때마다 i-1, i+1일 때의 경우를 합쳐주면 된다는 사실을 알 수 있다. 다만 숫자가 0일 때와 9일 때는 각각 1일때, 8일때의 값만 계산해야 한다. 1. 자리 수를 a변수에 입력한다. a = int(input()) ..
IT/코딩
2022. 8. 17. 18:41