Algorithm/백준

[Do it! 알고리즘] 내림차순으로 자릿수 정렬하기(백준 1427)

potato_pizza 2024. 3. 9. 00:37
728x90

Do it! 알고리즘 코딩테스트

선택 정렬

  • 선택 정렬은 대상 데이터에서 최대나 최소 데이터를 데이터가 나열된 순으로 찾아가며 선택하는 방법
  • 시간 복잡도가 $O(n^2)$로 복잡하기 때문에 코딩테스트에서는 많이 사용하지 않음.

문제017 (백준 1427)

https://www.acmicpc.net/problem/1427

[1427번: 소트인사이드

첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.

www.acmicpc.net](https://www.acmicpc.net/problem/1427)

  • 선택 정렬 풀이
import sys
input = sys.stdin.readline

N = list(input)

length=len(N)

for i in range(length):
    max_idx=i
    for j in range(i+1,length):
        if N[j]>N[max_idx]:
            max_idx=j
    if N[i] < N[max_idx]:
        temp = N[i]
        N[i] = N[max_idx]
        N[max_idx] = temp

for i in range(len(N)):
    print(N[i], end="")
  • 내장 함수 풀이

N = int(input())

li = []

for i in str(N):
    li.append(int(i))

li.sort(reverse=True) # 내림차순 정렬

for i in li:
    print(i, end='') 

Reference

728x90
반응형