본문 바로가기
Problem Solving/BOJ

[BOJ][Python]2193 풀이

by NoiB 2023. 3. 3.
반응형

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

 

2193번: 이친수

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

www.acmicpc.net

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