Today
Total
04-15 14:07
관리 메뉴

홍우진의 개발 일기장

[백준] 1904번: 01타일 / 파이썬 본문

알고리즘/백준

[백준] 1904번: 01타일 / 파이썬

홍우진 2025. 1. 23. 22:42
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
반응형
Comments