*문제 출처는 백준에 있습니다.
문제 제목: 줄어드는 수 / 1174번 (골드 5단계)
문제 사이트: https://www.acmicpc.net/problem/1174
문제 설명
나의 풀이
from itertools import combinations
def get_decreasing_number(N):
decreasing_numbers = []
# 1자리부터 10자리까지의 모든 줄어드는 수 생성
for length in range(1, 11):
for comb in combinations(range(10), length):
num_str = ''.join(map(str, sorted(comb, reverse=True)))
decreasing_numbers.append(int(num_str))
# 모든 줄어드는 수를 정렬
decreasing_numbers.sort()
# N번째 줄어드는 수 반환 (N-1 인덱스)
if N <= len(decreasing_numbers):
return decreasing_numbers[N - 1] # N번째 줄어드는 수 (1-based index)
else:
return -1 # N번째 줄어드는 수가 존재하지 않는 경우
N = int(input())
result = get_decreasing_number(N)
print(result)
※ 알아야 할 것
https://newkimjiwon.tistory.com/134
이 문제랑 똑같은 문제다
'코딩테스트(프로그래머스 & 백준) > 백준-Python' 카테고리의 다른 글
백준 / 최소비용 구하기 / 1916번 / Python (0) | 2024.07.19 |
---|---|
백준 / 암호 만들기 / 1759번 / Python (0) | 2024.07.18 |
백준 / 노드사이의 거리 / 1240번 / Python (0) | 2024.07.16 |
백준 / Contact / 1013번 / Python (3) | 2024.07.15 |
백준 / 곱셈 / 1629번 / Python (0) | 2024.07.12 |