https://www.acmicpc.net/problem/1427
사고과정 1.)
1. 해당 입력을 int형으로 받을 것인지, string으로 받을 것인지 고민.
2. 첫번 째 풀이는 int형으로 해봄.
3. 우선 해당 정수의 자릿수가 필요하고,
4. 배열에 수들을 하나씩 넣어주고
5. 내림차순 sort 함수 사용.
2-1). 두 번째 string형으로 해봄.
2-2). 마찬가지로 바로 sort함수 사용하면됨.
메모리 크기는 비슷하다.
#include <iostream>
#include <algorithm>
using namespace std;
bool Decend(int x, int y)
{
return x > y;
}
int main()
{
int n;
cin >> n;
int input = n;
int cnt = 1;
while (1) // 자릿 수 세기.
{
if (n / 10 > 0)
{
n /= 10;
cnt++;
}
else
break;
}
int* arr = new int[cnt];
for (int i = 0; i < cnt; i++)
{
arr[i] = input % 10;
if (input / 10 > 0)
input = input / 10;
}
sort(arr, arr + cnt, Decend);
for (int i = 0; i < cnt; i++)
{
cout << arr[i];
}
return 0;
}
#include <iostream>
#include <algorithm>
using namespace std;
bool compare(char x, char y)
{
return x > y;
}
int main()
{
string n;
cin >> n;
sort(n.begin(), n.end(), compare);
cout << n;
}
'백준 문제풀이 > 실버5' 카테고리의 다른 글
백준 1246번 - 온라인 판매 (0) | 2021.11.09 |
---|---|
백준 1439번 - 뒤집기 (0) | 2021.11.06 |
백준 1181번 - 단어 정렬 (0) | 2021.10.30 |
백준 1037번 - 약수 (0) | 2021.10.30 |
백준 1059번 - 좋은 구간 (0) | 2021.10.30 |