티스토리 뷰
풀이
DP 문제입니다. 1번째에는 무조건 1이 오고 2번째부터 0과 1이 나올 수 있는데 1이 두 번 연속으로만 나오지 않으면 됩니다.
dp 변수에 현재 위치가 0일 때와 1일 때의 경우의 수를 각각 저장할 것입니다.
현재 위치가 0이라면 이전 자리는 0, 1 두 가지 모두 올 수 있습니다.
따라서 dp [i][0] = dp [i-1][0] + dp [i-1][1] 이 됩니다.
현재 위치가 1이라면 이전 자리는 무조건 0이어야 합니다.
따라서 dp [i][1] = dp [i-1][0] 이 됩니다.
출력으로는 현재 위치가 0인 경우의 수와 현재 위치가 1인 경우의 수를 더하여 출력하면 됩니다.
변수
dp [i][0] = i자리에서 0인 경우의 수
dp [i][1] = i자리에서 1인 경우의 수
Python3 Code
n = int(input())
dp = [[0] * 2 for i in range(n+1)]
dp[1] = [0, 1]
for i in range(2, n+1):
dp[i][0] = dp[i-1][0] + dp[i-1][1]
dp[i][1] = dp[i-1][0]
print(sum(dp[n]))
'Computer Science > Algorithm' 카테고리의 다른 글
[BOJ] 11053 - 가장 긴 증가하는 부분 수열 (0) | 2020.06.16 |
---|---|
[BOJ] 2156 - 포도주 시식 (0) | 2020.06.14 |
[BOJ] 1463 - 1로 만들기 (0) | 2020.06.13 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- stft
- 오디오 전처리
- Tensorflow2.0
- MIT
- 인공지능 스피커 호출
- wavenet
- nlg
- netron
- RNN
- tensorflow
- nlp 트렌드
- librosa
- 알고리즘 강의
- keras
- 시계열
- lambda
- LSTM
- 핵심어 검출
- aws cli
- TF2.0
- nlp
- Introduction to Algorithm
- boto3
- AWS
- S3
- 알고리즘
- MFCC
- 6.006
- BOJ
- 모델 시각화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함