반응형
https://www.acmicpc.net/problem/2193
n = int(input())
t = [0 for _ in range(91)]
t[1] = 1
for i in range(2, 91):
t[i] = 1 + sum(t[:i-1])
print(t[n])
뻔한 dp 문제입니다. 조건 1과 2에 의해서 앞의 두 자리는 10으로 고정되기 때문에 사실상 3번째부터 n번째 까지 가능한 조합을 따지는 건데 그 조합들은 이미 앞에서 구한게 있으니 그대로 사용하시면 됩니다. 조금 더 머리를 쓰면 sum 메서드를 사용하지 않고 코드를 작성해서 시간복잡도를 더 줄일 수 있겠죠.
반응형
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ][Python]1264 풀이 (0) | 2023.06.20 |
---|---|
[BOJ][Python]14501 풀이 (0) | 2023.03.04 |
[BOJ][Python]1476 풀이 (0) | 2023.03.01 |
[BOJ][Python]27294 풀이 (0) | 2023.03.01 |