공부/Algorithm

[PS_DP] 13250 주사위 게임 파이썬

jihyee 2022. 1. 20. 12:31

문제

효빈이는 1부터 6까지 수가 적혀있는 6면 주사위를 가지고 있다. 매번 주사위를 던질 때마다 주사위의 윗 면에 적힌 수 만큼 사탕을 받게 된다. 효빈이가 적어도 N개의 사탕을 받기 위해 주사위를 던져야 하는 횟수의 기댓값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N이 주어진다. (1 ≤ N ≤ 1,000,000)

출력

첫째 줄에 사탕을 적어도 N개 받기 위해 주사위를 던져야 하는 횟수의 기댓값을 출력한다. 정답과의 절대/상대 오차는 10-9까지 허용한다.

풀이 방법
코드
 
N = int(input())
dp = [0]*1010101

for i in range(N-1, -1, -1):
    ret = 0
    for j in range(1, 7): ret += 1/6 * (1 + dp[i+j])
    dp[i] = ret

print(dp[0])