코드 n = int(input()) list = [*map(int,input().split())] s = int(input()) for i in range(n): max_idx = list.index(max(list[i:min(i+s+1,n)])) # 현재 거리부터 s만큼 떨어진 거리에서 최대값 찾기 for j in range(max_idx, i, -1): # 뒤에서부터 가져와야하므로 역으로 가져온다 if (list[j] > list[j-1]): # 정렬 list[j-1], list[j] = list[j], list[j-1] s-=1 # 수 감소 if s == 0: print(*list) exit(0) print(*list) 무지성 버블정렬 적용했다가 바로 틀린 문제. 그리디는 어려워