[알고리즘/백준] 10973번 : 이전 순열(python)

유현민·2022년 4월 29일
0

알고리즘

목록 보기
154/253

다음 순열 문제랑 완전 반대이다.
이전 수가 다음 수 보다 크면 맨 뒤에서 부터 자기보다 큰 수를 찾아야한다.
또한 정렬은 큰 수 부터 정렬이 되게 해야함.

N = int(input())
a = list(map(int, input().split()))

for i in range(N-1, 0, -1):
    if a[i] < a[i-1]:
        x, y = i-1, i
        for j in range(N-1, 0, -1):
            if a[j] < a[x]:
                a[j], a[x] = a[x], a[j]
                a = a[:i] + sorted(a[i:], reverse=True)
                print(*a)
                exit(0)
print(-1)
profile
smilegate megaport infra

0개의 댓글