💡문제
두 정수 A와 B가 있을 때, A에 포함된 숫자의 순서를 섞어서 새로운 수 C를 만들려고 한다. 즉, C는 A의 순열 중 하나가 되어야 한다.
가능한 C 중에서 B보다 작으면서, 가장 큰 값을 구해보자. C는 0으로 시작하면 안 된다.
입력
첫째 줄에 두 정수 A와 B가 주어진다.
출력
B보다 작은 C중에서 가장 큰 값을 출력한다. 그러한 C가 없는 경우에는 -1을 출력한다.
풀이💬
from itertools import permutations
a, b = input().split()
b = int(b)
c = -1
list = []
for num in permutations(a):
list.append(''.join(num))
for i in list:
if i[0] == '0': #0으로 시작하는 경우
continue
i = int(i)
if i < b:
c = max(c, i)
print(c)
'알고리즘 문제' 카테고리의 다른 글
[Python]1931번.회의실 배정(정렬,그리디) (0) | 2024.01.17 |
---|---|
[Python]1946번.신입 사원(정렬,그리디) (0) | 2024.01.15 |
[알고리즘/Python] 1e9는 왜 쓰는거지?(1e9 vs 2e9) (0) | 2024.01.11 |
[Python]14888번.연산자 끼워넣기(브루트포스,백트레킹) (1) | 2024.01.11 |
[Python]2529번.부등호(브루트포스,백트레킹) (2) | 2024.01.09 |