23882 알고리즘 수업 - 선택 정렬 2 - Python
2024. 8. 6. 00:52ㆍ공부/📝 백준
1. 풀이 코드
change_count = 0
N, K = map(int, input().split(' '))
num_list = list(map(int, input().split(' ')))
i = 0
is_search = False
while True:
target_num = num_list[N-1-i]
if N-1-i == 0:
break
next_max_num = max(num_list[:N-1-i])
if target_num < next_max_num:
temp_index = num_list.index(next_max_num)
num_list[temp_index] = target_num
num_list[N-1-i] = next_max_num
change_count += 1
i += 1
if change_count == K:
print(' '.join(map(str, num_list)))
is_search = True
break
if not is_search:
print(-1)
2. 다른 사람 풀이 코드
a, b = map(int, input().split())
lst = list(map(int, input().split()))
count = 0
for i in range(a-1, 0, -1):
max_index = lst.index(max(lst[:i+1]))
if max_index == i:
continue
else:
lst[i], lst[max_index] = lst[max_index], lst[i]
count += 1
if count == b:
print(*lst)
break
if count < b:
print(-1)
'공부 > 📝 백준' 카테고리의 다른 글
26150 Identify, Sort, Index, Solve - Python (0) | 2024.08.06 |
---|---|
1384 메시지 - Python (0) | 2024.08.06 |
1120 문자열 - Python (0) | 2024.08.04 |
11365 !밀비 급일 - Swift (0) | 2024.07.30 |
11365 !밀비 급일 - C (0) | 2024.07.29 |