Hyunwoo's DATA
boj- 10972 다음 순열 본문
https://www.acmicpc.net/problem/10973
10973번: 이전 순열
첫째 줄에 입력으로 주어진 순열의 이전에 오는 순열을 출력한다. 만약, 사전순으로 가장 처음에 오는 순열인 경우에는 -1을 출력한다.
www.acmicpc.net
다음 순열 문제에서 기호만 뒤집으면 되는 문제였다.
중요한건 정렬도 역정렬로하면 되는데
이 경우에 sorted(,reverse=True)를 통해 간단히 해결 할 수 있었다.
n=int(input())
m=list(map(int,input().split()))
for i in range(n-1,0,-1):
if m[i]<m[i-1]:
for j in range(n-1,0,-1):
if m[i-1]>m[j]:
m[i-1],m[j]=m[j],m[i-1]
m=m[:i]+sorted(m[i:],reverse=True)
print(*m)
exit()
print(-1)
'알고리즘 > 백준' 카테고리의 다른 글
boj-10819 차이를 최대로 (0) | 2021.09.21 |
---|---|
boj-10974 모든순열 (0) | 2021.09.21 |
boj -10972 다음 순열 (0) | 2021.09.21 |
boj-15649 N과 M (0) | 2021.09.19 |
boj - 1748 수 이어쓰기1 (0) | 2021.09.19 |