ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2579번 : 계단 오르기
    알고리즘/백준(acmicpc.net) 문제풀이 2018. 5. 30. 20:03
    반응형

    2006년 초등부 지역본선 4번 문제입니다.


    조건을 다시 되짚어보면

    한번에 최대 두 칸 위까지 올라갈 수 있다.

    연달아 3칸을 밟으면 안된다.

    도착 지점은 무조건 밟아야 한다.


    dp는 i번째 계단을 밟을때와 밟지 않을 때 각각의 최대 점수를 dp로 쌓아주시면 됩니다.

    즉 dp[3][1]은 3번째 칸을 밟았을 때 최대 점수이고, dp[3][0]은 3번째 칸을 밟지 않았을 때(건너 뛰었을 때)의 최대 점수입니다.


    0. dp[0][0], dp[0][1], dp[1][0]은 0으로 초기화, dp[1][1]은 1번 칸 값으로 초기화.

    1. 해당 칸을 밟지 않았을 때는 그 전칸은 무조건 밟았다는 소리가 됩니다. 따라서 dp[i][0]은 dp[i-1][1]이 됩니다.

    2. 해당 칸을 밟았을 때는 dp[i-1][0]과 dp[i-1][1] 중 큰값에 해당 칸 점수를 부여합니다.

    이때 3칸을 연속으로 밟았을 때(dp[i-3][0]+stair[i-2]+stair[i-1]+stair[i]가 dp[i][1]과 같다면), 

    dp[i][1]=MAX(i-2번째 칸과 i번째 칸을 밟았을 때 , i-2번째 칸을 밟지 않고 i-1번째 칸과 i번째 칸을 밟았을 때)로 설정합니다.



    반응형

    '알고리즘 > 백준(acmicpc.net) 문제풀이' 카테고리의 다른 글

    11726번 : 2 x n 타일링  (0) 2018.06.04
    1149번 : RGB거리  (0) 2018.06.01
    117272번 : 2xn 타일링 2  (0) 2018.05.31
    2193번 : 이친수  (0) 2018.05.31
    1003번 : 피보나치 함수  (0) 2018.05.30

    댓글

Designed by Tistory.