[BOJ] 1427 소트인사이드

GirlFriend-Yerin·2020년 8월 26일
0

알고리즘

목록 보기
9/131

Note

시간제한 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];
}

2018-12-31 17:09:24에 Tistory에서 작성되었습니다.

profile
개발할때 가장 행복한 개발자입니다.

0개의 댓글