홍우진의 개발 일기장
[백준] 1904번: 01타일 / 파이썬 본문
728x90
반응형
문제 링크
https://www.acmicpc.net/problem/1904
풀이 코드
n = int(input())
dp = [1] * n
for i in range(1,n):
dp[i] = (dp[i-1] + dp[i-2]) % 15746
print(dp[-1])
코드 해석
경우의 수를 살펴보면
1 자릿수 일 땐 1 1개
2 자릿수 일 땐 00,11 2개
3 자릿수 일 땐 001,100,111 3개
4 자릿수 일 땐 0000,0011,1001,1100,1111 5개
5 자릿수 일 땐 00001,00100,00111,10000,10011,11001,11100 8개
어라...?
피보나치수열이랑 똑같잖아?
그래서 DP를 사용한 피보나치수열로 풀었다.
점화식은 dp[i] = dp[i-1] + dp[i-2]이다.
https://woojinhong.tistory.com/255
[백준] 2193번: 이친수 / 파이썬
문제 링크https://www.acmicpc.net/problem/2193 풀이 코드n = int(input())dp = [0] * (n + 1)dp[1] = 1for i in range(2, n+1): dp[i] = dp[i-1] + dp[i-2]print(dp[n])코드 해석경우의 수를 살펴보면1 자릿수 일 땐 0,1 2개2 자릿수 일
woojinhong.tistory.com
매우 비슷한 문제다.
체감 난이도: ★☆☆☆☆
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 11279번: 최대 힙 / 파이썬 (0) | 2025.01.25 |
---|---|
[백준] 1912번: 연속합 / 파이썬 (0) | 2025.01.24 |
[백준] 10448번: 유레카 이론 / 파이썬 (0) | 2025.01.22 |
[백준] 2193번: 이친수 / 파이썬 (0) | 2025.01.21 |
[백준] 2346번: 풍선 터뜨리기 / 파이썬 (0) | 2025.01.20 |