728x90
문제출처: https://www.acmicpc.net/problem/2688
2688번: 줄어들지 않아
첫째 줄에 테스트 케이스의 개수 T(1 <= T <= 1,000)이 주어진다. 각 테스트 케이스는 숫자 하나 n으로 이루어져 있다. (1 <= n <= 64)
www.acmicpc.net
1. 해결과정
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import sys
input = sys.stdin.readline
T = int(input())
for i in range(T):
N = int(input())
num = [1 for i in range(10)]
#2자리 수에 0,1,2 넣을 때 가능한 것이 00 01 11 02 12 22
#3자리 수에서 2가 들어가는 경우 002 012 112 022 122 222
# 즉 각 배열의 현재 인덱스 이상의 원소 값 모두 더해주면 된다.
for i in range(N-1):
for j in range(10):
num[j] = sum(num[j:])
print(sum(num))
|
cs |
예를 들어서 0,1,2 를 2자리 수에 배치한다고 했을 때 가능한것이 00 01 11 02 12 22 이고
3자리 수에 2가 들어가는 경우는 002 012 112 022 122 222로
각 배열의 현재 인덱스 이상의 원소값들을 더해주면 되는 부분이라고 이해할 수 있다.
728x90
'공부 자료 > 알고리즘' 카테고리의 다른 글
(Python/파이썬) 백준 10804번 - 카드 역배치 (0) | 2022.04.27 |
---|---|
(Python/파이썬) 백준 2163번 - 초콜릿 자르기 (0) | 2022.03.16 |
(Python/파이썬) 백준 1309번 - 동물원 (0) | 2021.09.24 |
(Python/파이썬) 백준 1766번 - 문제집 (0) | 2021.09.14 |
(Python/파이썬) 백준 2252 - 줄 세우기 (0) | 2021.09.14 |