728x90
비교적 쉽게 풀었고 규칙만 알면 쉽게 풀 수 있다. 이런 문제는 규칙을 파악하는 게 가장 중요한 것 같다.
from collections import deque
import sys
a=int(sys.stdin.readline())
vip = int(sys.stdin.readline())
k = []
for i in range(0,a):
k.append(0)
# k[i]가 1이면 vip
for i in range(0,vip):
k[int(sys.stdin.readline())-1] = 1
if sum(k) == len(k):
print(1)
else:
count = 0
answer = []
dp = [0]*10000
dp[0] = 0
dp[1] = 1
for i in range(2,len(dp)):
dp[i] = dp[i-1] + dp[i-2]
for i in range(0,len(k)):
if k[i] == 0:
count+=1
if i == len(k)-1:
answer.append(dp[count+1])
else:
answer.append(dp[count+1])
count = 0
ans = 1
for i in answer:
ans *= i
print(ans)
728x90
'🟢 알고리즘 문제 풀이 > Baekjoon' 카테고리의 다른 글
| [파이썬] 백준 1309 동물원 (0) | 2023.03.25 |
|---|---|
| [파이썬] 백준 1850 최대공약수 (0) | 2023.03.24 |
| [파이썬] 백준 2178 미로 탐색 (0) | 2023.03.22 |
| [파이썬] 백준 1946 신입사원 (0) | 2023.03.21 |
| [파이썬] 백준 11286 절댓값 힙 (0) | 2023.03.21 |