ํฐ์คํ ๋ฆฌ ๋ทฐ
728x90
๋ฐ์ํ
๋ฌธ์
๋ฌธ์ ํ์ด
์์ ํผ 10972 ๋ค์ ์์ด์ ๋ํ ๋ก์ง์ ์ดํดํ๊ณ ์๋ค๋ฉด, ๋ถ๋ฑํธ ๋ฐฉํฅ๋ง ๋ฐ๊ฟ์ฃผ๋ฉด ์ฝ๊ฒ ํด๊ฒฐ ํ ์ ์๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
์ฝ๋
from sys import stdin
def prev_permutation(lst):
length = len(lst) - 1
i, j, k = [length for _ in range(3)]
while i > 0 and lst[i - 1] <= lst[i]:
i -= 1
if not i:
return 0
while lst[i - 1] <= lst[j]:
j -= 1
lst[i - 1], lst[j] = lst[j], lst[i - 1]
while i < k:
lst[i], lst[k] = lst[k], lst[i]
i += 1
k -= 1
return lst
if __name__ == '__main__':
n = int(stdin.readline())
nums = list(map(int, stdin.readline().split()))
ret = prev_permutation(nums)
print(-1) if not ret else print(*nums)
728x90
๋ฐ์ํ
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 10819 ์ฐจ์ด๋ฅผ ์ต๋๋ก (0) | 2020.07.15 |
---|---|
๋ฐฑ์ค: 10974 ๋ชจ๋ ์์ด (0) | 2020.07.15 |
๋ฐฑ์ค: 10972 ๋ค์ ์์ด (0) | 2020.07.15 |
๋ฐฑ์ค: 15663 N๊ณผ M (9) (0) | 2020.07.14 |
๋ฐฑ์ค: 15652 N๊ณผ M (4) (0) | 2020.07.14 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ