이 영역을 누르면 첫 페이지로 이동
쿄코코 블로그의 첫 페이지로 이동

쿄코코

페이지 맨 위로 올라가기

쿄코코

얼레벌레 생활🤯

백준 10844(쉬운 계단 수) - Python(파이썬) - DP

  • 2022.07.05 21:03
  • [백준] Python,Java로 풀기📖/다이나믹
    반응형
     

    10844번: 쉬운 계단 수

    첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다.

    www.acmicpc.net

    예제 풀이

    일단 첨에 보고 이해가 안되었다. 문제 뜻은 이와 같다 계단 같은 경우에는 무조건 +1 , -1 차이가 난다는 것이다. 

     자릿수가 1인 수를 구하라고 하면 1 - 9 이렇게 9개가 존재한다라는 의미이다.

    0 1 2 3 4 5 6 7 8 9
    1 1 1 1 1 1 1 1 1 1

     자릿수가 2인 수를 구하라고 하면 

      0 _ -> 1개(1) , 1 _ -> 2개(0,2) , 2 _ -> 2개(1,3) , 3 _ -> 2개(2,4) , 4 _ -> 2개(3,5) ,

      5 _ ->2개(4,6) , 6 _ -> 2개(5,7) , 7 _ -> 2개(6,8) , 8 _ -> 2개(7,9) , 9 _ ->1개(8) 

    0 1 2 3 4 5 6 7 8 9
    dp[0+1]
    =1
    dp[1-1]
    +dp[1+1]
    =2
    dp[2-1]
    +dp[2+1]
    =2
    dp[3-1]
    +dp[3+1]
    =2
    dp[4-1]
    +dp[4+1]
    =2
    dp[5-1]
    +dp[5+1]
    =2
    dp[6-1]
    +dp[6+1]
    =2
    dp[7-1]
    +dp[7+1]
    =2
    dp[8-1]
    +dp[8+1]
    =2
    dp[9-1]
    =1

    dp의 합을 더한 후에 dp[0]의 값을 제외시킨다.

     

     

    💻Python(파이썬)

    import sys
    n = int(sys.stdin.readline())
    dp = [1]*10
    array = []
    for i in range(n-1):
        array = [0]*10
        for j in range(10):
        	#1~9
            if j>0:
                array[j]+=(dp[j-1]%1000000000)
            #0~8
            if j<9:
                array[j]+=(dp[j+1]%1000000000)
        #계산한 array 값을 dp에 킵
        dp = array.copy()
    
    print((sum(dp)- dp[0])%1000000000)

     

    반응형

    '[백준] Python,Java로 풀기📖 > 다이나믹' 카테고리의 다른 글

    백준 1932(정수 삼각형) - Python(파이썬) -DP  (0) 2022.07.07
    백준 11054(가장 긴 바이토닉 부분 수열) - Python(파이썬),Java(자바) - DP  (0) 2022.07.06
    백준 2579(계단 오르기) -Python(파이썬),Java(자바) - DP  (0) 2022.07.01
    백준 9095(1,2,3 더하기) - Python(파이썬)  (0) 2022.06.30
    백준 1463(1로 만들기) - Python(파이썬) - 다이나믹  (0) 2022.06.29

    댓글

    이 글 공유하기

    • 구독하기

      구독하기

    • 카카오톡

      카카오톡

    • 라인

      라인

    • 트위터

      트위터

    • Facebook

      Facebook

    • 카카오스토리

      카카오스토리

    • 밴드

      밴드

    • 네이버 블로그

      네이버 블로그

    • Pocket

      Pocket

    • Evernote

      Evernote

    다른 글

    • 백준 1932(정수 삼각형) - Python(파이썬) -DP

      백준 1932(정수 삼각형) - Python(파이썬) -DP

      2022.07.07
    • 백준 11054(가장 긴 바이토닉 부분 수열) - Python(파이썬),Java(자바) - DP

      백준 11054(가장 긴 바이토닉 부분 수열) - Python(파이썬),Java(자바) - DP

      2022.07.06
    • 백준 2579(계단 오르기) -Python(파이썬),Java(자바) - DP

      백준 2579(계단 오르기) -Python(파이썬),Java(자바) - DP

      2022.07.01
    • 백준 9095(1,2,3 더하기) - Python(파이썬)

      백준 9095(1,2,3 더하기) - Python(파이썬)

      2022.06.30
    다른 글 더 둘러보기

    정보

    쿄코코 블로그의 첫 페이지로 이동

    쿄코코

    • 쿄코코의 첫 페이지로 이동

    검색

    메뉴

    • 홈

    카테고리

    • 분류 전체보기 (169)
      • Python (24)
        • 😈 99클럽 코테 스터디 4기 TIL (23)
        • 궁금한거 정리 (1)
      • SQL (16)
        • HackerRank (15)
      • [백준] Python,Java로 풀기📖 (71)
        • 정렬(Sorting) (6)
        • 그리디 (5)
        • 문자열 (7)
        • 수학 (3)
        • DFS&BFS (10)
        • 구현 (4)
        • 다이나믹 (17)
        • 이분탐색 (1)
        • 자료구조 (10)
        • 최단거리 (5)
        • 인덱스트리 (0)
      • [프로그래머스]Python,Java로 풀기 (6)
        • Level 1 (4)
        • Level 2 (2)
      • Study Platform📚 (25)
        • 김영한👨🏻‍🏫의 스프링 부트와 JPA 실무 완전 .. (5)
        • (알고리즘)- [이코테] 이것이 코딩테스트다 정리 (10)
        • 그림으로 배우는 Http&Network Basic (10)
      • 까먹을까봐 적는 것들 (5)
      • 테스트 보고 난 후..🤔 (0)
      • kt 에이블스쿨 (18)

    최근 글

    인기 글

    댓글

    공지사항

    아카이브

    태그

    • 백준
    • 프로그래머스
    • 코딩테스트준비
    • 항해99
    • 오블완
    • 99클럽
    • TiL
    • 티스토리챌린지

    나의 외부 링크

    정보

    쿄코코의 쿄코코

    쿄코코

    쿄코코

    블로그 구독하기

    • 구독하기
    • RSS 피드

    방문자

    • 전체 방문자
    • 오늘
    • 어제

    티스토리

    • 티스토리 홈
    • 이 블로그 관리하기
    • 글쓰기
    Powered by Tistory / AXZ. © 쿄코코. Designed by Fraccino.

    티스토리툴바