https://www.acmicpc.net/problem/1083
1. 사전 반대 순이라는 말은 리스트를 큰 순서대로 나열하는 것이다.
2. 현재 인덱스를 기준으로 뒤에 가장 큰 값을 비교한다.
3. 남은 횟수가 더이상 없으면 종료한다.
S는 1000000보다 작거나 같은 음이 아닌 정수이다.라는 조건이 있는데 이 조건은 횟수가 0일 수도 있다는 것이다. 이것 때문에 틀렸다가 바로 정정했다.
n = int(input())
lst = list(map(int, input().split()))
s = int(input())
for i in range(n-1):
maxx = lst[i]
val = 0
if s == 0:
break
for j in range(i+1, n):
x = j-i
if lst[j] > maxx:
maxx = lst[j]
val = x
if x >= s:
break
if val:
s -= val
lst.remove(maxx)
lst.insert(i, maxx)
for x in lst:
print(x, end=' ')
'알고리즘 > BOJ' 카테고리의 다른 글
[Python] 백준 2513: 통학버스 (0) | 2021.09.25 |
---|---|
[Python] 백준 1082: 방 번호 (0) | 2021.09.25 |
[Python] 백준 1700: 멀티탭 스케쥴링 (0) | 2021.09.19 |
[Python] 백준 1916: 최소비용 구하기 (0) | 2021.09.17 |
[Python] 백준 9576: 책 나눠주기 (0) | 2021.09.17 |
댓글