Sorting - (3)

DoHyunKim·2023년 7월 10일
0

Python With Algorithm

목록 보기
18/24

Selection Sort

데이터에서 최대나 최소 데이터를 데이터가 나열된 순으로 찾아가며 선택하는 방법.
왼쪽부터 정렬되므로 inner for문 시 시작 지점을 잘 정하는 것이 그나마 효율성 측면에서 좋음.

코팅테스트에서는 거의 사용하지 않는 알고리즘이다.

내림차순으로 자릿수 결정하기(백준 1427번, 시간 제한 2초)

문제
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.

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

출력
첫 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.

입력 예시
2143

출력 예시
4321

코드 예시

import sys
input=sys.stdin.readline
A=list(input())
for i in range(len(A)):
    for j in range(i+1,len(A)):
        if(A[i]<A[j]):
            temp=A[j]
            A[j]=A[i]
            A[i]=temp
for i in range(len(A)):
    print(A[i],end='')

selection sort로 간단하게 풀어보았다.

여기서 특이점은
list(input()) 즉, list 함수를 사용해서 input() 에 대해 각 원소들을 list로 저장한다. data type이 int 가 아닌 str 형태로 sorting 을 진행했다.

사실 ascii code 역시 특정 값을 가지고 있기 때문에 sorting에 전혀 문제가 되지 않는다.

profile
Do My Best!

0개의 댓글