Code/Python

[Python] 백준 1427번 소트인사이드

ki1111m2 2023. 9. 28. 17:45

선택 정렬을 이용한 문제

 

두 번째 for문에서 선택한 값을 for문 밖에서 접근해야 하므로, 값 자체가 아닌 인덱스를 변수로 삼는 것이 핵심이다. 

max = num[j]가 아닌 max = j로 선언 후, num[max]로 접근해야 한다.

# 소트인사이드
# 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
# 첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.

n = input()
num = []

for i in range(len(n)):
    num.append(int(n[i]))

for i in range(len(n)):
    max = i
    for j in range(i + 1, len(n)):
        if num[j] > num[max]:
            max = j
    if num[i] < num[max]:
        tmp = num[i]
        num[i] = num[max]
        num[max] = tmp

for i in range(len(n)):
    print(num[i], end='')

'Code > Python' 카테고리의 다른 글

[Python] 백준 11004번 K번째 수  (0) 2023.09.29
[Python] 백준 11399번 ATM  (0) 2023.09.28
[Python] 백준 1377번 버블 소트  (0) 2023.09.28
[Python] 백준 2750번 수 정렬하기  (0) 2023.09.28
[Python] 백준 11286번 절댓값 힙  (0) 2023.09.27