포도가게의 개발일지

python 백준 2193 이친수 본문

백준

python 백준 2193 이친수

grape.store 2021. 9. 15. 16:04
반응형

https://www.acmicpc.net/problem/2193

 

2193번: 이친수

0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않

www.acmicpc.net

 

문제 ? 이친수를 만족하는 숫자의 개수를 찾아라

접근법 

- 첫번째는 부분문자열로 일일이 다 검색을 해볼려했는데 자리수의 개수가 90인걸 보고 2**90을 볼수는 없으니 포기했다 ㅋㅋㅋ

- 두번째로는 결국 종이에 써보다가 발견한 건데 신기하게도 피보나치수열을 만족한다는 것이였고

 - 이 문제는 다이나믹 프로그래밍으로 연결된다 결구 f(n) = f(n-1) + f(n-2)로 문제를 풀 수 있게 된다

 - 그리고 다른 동기가 접근 한 방법으로는 0,1을 나누어 dp로 접근하는 방법도 있어서 매우 신기한 경험이었다.

- dp는 너무 어렵지만 계속해서 직관력을 키워야겠다

import sys
#sys.stdin = open("inputs.text")


n = int(sys.stdin.readline())
dp = [0] * (n+1)

dp[0] = 0
dp[1] = 1

for i in range(2,n+1):
  dp[i] = dp[i-1] + dp[i-2]

print(dp[n])

 

 

'백준' 카테고리의 다른 글

python 백준 9935 문자열폭발  (0) 2021.11.28
python 백준 13305 주유소  (0) 2021.09.14
python 15903 카드 합체 놀이  (0) 2021.09.13
python 백준 5557 1학년(dp)  (0) 2021.09.01
python 백준 1946 신입사원  (0) 2021.08.30
Comments