Algorithm/Sorting
BaekJoon 1427 소트인사이드
GirlFriend_Yerin
2018. 12. 31. 17:09
Link : https://www.acmicpc.net/problem/1427
소스 결과 : 2048 KB / 0 ms
출처 : BackJoon
설명
시간제한 2초
최대 배열 크기 10
Bubble Sort로 구현해도 금방 푸는 문제
문제 찾던중 눈에 걸려서 풀어본 문제
알고리즘
1. log를 이용하여 자리 수 추출
2. 각 자리 값을 digits 배열에 저장
3. Selection Sort를 이용하여 정렬
4. 출력
소스코드
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int n;
cin >> n;
int size = log10(n) + 1;
int digits[10];
for (int i = 0; i < size; i++)
{
digits[size - i - 1] = n % 10;
n /= 10;
}
for (int i = 0; i < size; i++)
{
int max = i;
for (int j = i; j < size; j++)
{
if (digits[j] > digits[max])
max = j;
}
swap(digits[i], digits[max]);
}
for (int i = 0; i < size; i++)
cout << digits[i];
}