본문 바로가기

공부/백준\BeakJoon

[BEAKJOON] 백준 2193번 : 이친수 - 파이썬

반응형

문제

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

 

2193번: 이친수

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

www.acmicpc.net

문제 설명

 

쉽게 발견할 수 있는 특정한 패턴이 있는데,

뒤의 자리가 1일 때에는 0만 올수 있고,

뒤의 자리가 0일 때에는 1, 0 둘다 올 수 있다.

 

그러면 처음에 [0, 0]의 리스트로 num의 개수만큼 초기화를 하고, 진행해준다.

# n = 1 : 1, 1
# n = 2 : 1, 10
# n = 3 : 2, 100, 101
# n = 4 : 3, 1000, 1010, 1001
# n = 5 : 5, 10000, 10100, 10010, 10001, 10101,

 

문제 정답 코드

이렇게 쉽게 접근하면 끝

num = int(input())

result_list = list([0]*2 for _ in range(num))
result_list[0] = [0, 1]

for i in range(1, num):
    result_list[i] = [result_list[i-1][1]+result_list[i-1][0], result_list[i-1][0]]

print(sum(result_list[num-1]))

 

문제 해결

반응형