https://www.acmicpc.net/problem/16943
간단하지만 표현할 수 있는 방법이 많아 시간을 많이 쓴 문제 였다.
permutation을 한 다음 숫자를 하나씩 비교해서 갱신하면 되는 문제다.
여기서 point는 permutation 라이브러리를 써서 순열을 만들면 작은 수부터 순서대로 저장되는게 아니다.
0으로 시작하는 수는 제외하고 순열을 탐색하면서 b보다 작은 값들에서 max값을 갱신 시키면 된다.
from itertools import permutations
a,b = input().split()
ans = -1
res = []
for i in permutations(a):
res.append(''.join(i))
for i in res:
if i[0] != '0':
i = int(i)
if i < int(b):
ans = max(ans,i)
print(ans)
'Algorithm > Algorithm Problem' 카테고리의 다른 글
백준 16926 배열 돌리기 1(구현) ★ (0) | 2022.06.04 |
---|---|
백준 1461 도서관(구현, 그리디) (0) | 2022.06.03 |
백준 1911 흙길 보수하기(구현,그리디) (0) | 2022.06.03 |
백준 15729 방탈출(그리디) (0) | 2022.06.03 |
백준 2072 오목(구현) (0) | 2022.06.01 |