본문 바로가기

Algorithm/Sorting

BaekJoon 1427 소트인사이드

 

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];
}

 

'Algorithm > Sorting' 카테고리의 다른 글

Baekjoon 10825 국영수  (0) 2019.08.23
Baekjoon 1181 단어 정렬  (0) 2019.08.22
BaekJoon 10989 수 정렬하기 3  (0) 2019.01.12
BaekJoon 1026 보물  (0) 2019.01.12
BaekJoon 1205 등수 구하기  (0) 2018.12.31