-
백준(BOJ) 1427번 소트인사이드알고리즘 풀이/백준(Boj) 2019. 8. 8. 16:17
문제 : https://www.acmicpc.net/problem/1427
문제배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자.
나의 풀이:
n의 끝자리수 부터 하나씩 배열에 저장한다. 그 후에 sort 를 통해 정렬해준다. sort는 퀵 소트 기반으로 nlgn을 보장하는 알고리즘으로 짜
여있다. 따라서 시간 이내에 정렬이 가능하다.
풀이 ( C ++ )
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
// 정렬 기준 정하기
bool compare(int a, int b)
{
return a > b;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
int n;
cin >> n;
vector<int> v;
int i = 0;
// n이 0 이 아닐때까지 n의 끝자리부터 v에 넣는다.
while (n != 0) {
v.push_back(n % 10);
n /= 10;
}
//내림차순 정렬한다.
sort(v.begin(), v.end(), compare);
for (int i = 0; i < v.size(); ++i)
cout << v[i];
return 0;
}
'알고리즘 풀이 > 백준(Boj)' 카테고리의 다른 글
백준(BOJ) 2437번 저울 (0) 2019.08.09 백준(BOJ) 1405번 미친 로봇 (0) 2019.08.09 백준(BOJ) 14888번 연산자 끼워넣기 (0) 2019.08.08 백준(BOJ) 6359번 만취한 상범 (0) 2019.08.07 백준(BOJ) 2110번 공유기 설치 (0) 2019.08.06