💡문제접근
- 버블 정렬 알고리즘을 선택해서 무지성으로 코드를 작성했는데 퍼센트도 보지 못하고 칼같이 WA를 확인했다. 질문게시판에 있는 내용을 참고해서 문제를 다시 이해했고 이 문제의 핵심은 가장 뒤에서부터 큰 숫자를 앞으로 땅겨 오는 것이 핵심이다.
- 오랜만에 코딩테스트 공부를 다시 시작했는데 취준을 위해서 하루에 3문제씩은 풀면서 알고리즘에 대한 이해 및 문제 풀이를 진행해야겠다.
💡코드(메모리 : 31256KB, 시간 : 44ms)
import sys
input = sys.stdin.readline
N = int(input())
A = list(map(int, input().strip().split()))
S = int(input())
for i in range(N):
Max = max(A[i:min(N, i+1+S)])
idx = A.index(Max)
for j in range(idx, i, -1):
A[j], A[j - 1] = A[j - 1], A[j]
S -= (idx - i)
if S <= 0:
break
print(' '.join(map(str, A)))
💡소요시간 : 2h