반응형
문제
https://www.acmicpc.net/problem/2193
문제 설명
쉽게 발견할 수 있는 특정한 패턴이 있는데,
뒤의 자리가 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]))
문제 해결
반응형
'공부 > 백준\BeakJoon' 카테고리의 다른 글
[BEAKJOON] 백준 16194번 : 카드 구매하기 2 - 파이썬 (0) | 2023.08.24 |
---|---|
[BEAKJOON] 백준 11053번 : 가장 긴 증가하는 부분 수열 - 파이썬 (0) | 2023.08.19 |
[BEAKJOON] 백준 10844번 : 쉬운 계단 수 - 파이썬 (0) | 2023.08.15 |
[BEAKJOON] 백준 15990번 : 1, 2, 3 더하기 5 (0) | 2023.08.10 |
[BEAKJOON] 백준 11727번 : 2xn 타일링 2 (0) | 2023.08.08 |