숫자의 합이 되는 최소 길이의 숫자조합을 구합니다. 최소길이이므로 큰수부터 빼주며 숫자를 만들면 됩니다.
1~45까지의 모든 수는 표현이 가능하다는 것만 이해하면 됩니다.
import sys
input = sys.stdin.readline
for test in range(int(input())):
x = int(input())
answer, flag = '', 0
for num in range(9, 0, -1):
if x >= num:
x -= num
answer += str(num)
if not x:
print(answer[::-1])
break
else:
print(-1)
'practivceAlgorithm > codeforce' 카테고리의 다른 글
[codeforce][Python] #690 E1. Close Tuples (easy version) (0) | 2021.12.07 |
---|---|
[codeforce][Python] #690 B. Last Year's Substring (0) | 2021.12.07 |
[codeforce][Python] #690 A. Favorite Sequence (0) | 2021.12.07 |
[Codeforce][Python] #702 F. Equalize the Array (0) | 2021.11.07 |
[Codeforce][Python] #702 D. Permutation Transformation (0) | 2021.11.07 |