728x90
반응형
https://www.acmicpc.net/problem/1427
1427번: 소트인사이드
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
문제
배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
입력
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다.
코드
기본 라이브러리 정렬 코드
array = list(map(int, input()))
array.sort(reverse=True)
for i in array:
print(i, end="")
퀵 정렬 코드
array = list(map(str, input()))
def quick_sort(array, start, end):
if start >= end:
return
pivot = start
left = start + 1
right = end
while left <= right:
while left <= end and array[left] >= array[pivot]:
left += 1
while right > start and array[right] <= array[pivot]:
right -= 1
if left > right:
array[pivot], array[right] = array[right], array[pivot]
else:
array[left], array[right] = array[right], array[left]
quick_sort(array, start, right-1)
quick_sort(array, right+1, end)
quick_sort(array, 0, len(array)-1)
for i in array:
print(i, end="")
계수 정렬 코드
array = list(map(int, input()))
count = [0]*(max(array)+1)
dp = []
for i in array:
count[i] += 1
for i in range(len(count)-1, -1, -1):
for j in range(count[i]):
dp.append(i)
for i in dp:
print(i, end="")
728x90
반응형
'코딩테스트 준비 > 백준' 카테고리의 다른 글
[백준] 11660번 : 구간 합 구하기 5 (0) | 2023.07.08 |
---|---|
[백준] 10971번 : 외판원 순회 2 (파이썬, Python) (0) | 2023.07.07 |
[백준] 9012번: 괄호 (파이썬, Python) (0) | 2023.07.07 |
[백준] 2156번: 포도주 시식(파이썬, Python) (0) | 2023.07.07 |
[백준] 1912번 : 연속합(파이썬, Python) (0) | 2023.07.06 |