[백준] 23882번 알고리즘 수업 - 선택 정렬2

거북이·2023년 8월 22일
0

백준[브론즈1]

목록 보기
4/4
post-thumbnail

💡코드(메모리 : 32276KB, 시간 : 1992ms)

import sys
input = sys.stdin.readline

N, K = map(int, input().strip().split())
array = list(map(int, input().strip().split()))
cnt = 0

def selection_sort(array):
    global cnt
    # 가장 큰 수 A[i]를 찾는다.
    for i in range(len(array) - 1, 0, -1):
        is_swapped = False
        max_index = i
        for j in range(i-1, -1, -1):
            if array[max_index] < array[j]:
                max_index = j
                is_swapped = True
        if max_index != i:
            array[i], array[max_index] = array[max_index], array[i]
            cnt += 1
        if cnt == K:
            print(*array)
            sys.exit(0)
    print(-1)

selection_sort(array)

💡소요시간 : 10m

0개의 댓글