728x90
반응형
문제 풀기 전 생각 :
/*
숫자의 입력을 문자열로 받는다.
그리고 해당 문자열을 각 글자별로 쪼개어 저장한다.
그리고 정렬 후 출력한다.
*/
#include <iostream>
#include <algorithm>
using namespace std;
bool comp(int a,int b){
return a > b;
}
int main(){
string s;
cin >> s;
int arr[s.length()];
for(int i=0 ; i<s.length() ; i++){
arr[i] = s[i] - '0';
}
sort(arr,arr+s.length(),comp);
for(int i=0 ; i<s.length() ; i++){
cout << arr[i];
}
return 0;
}
https://www.acmicpc.net/problem/1427
풀 때 어려웠던 점 또는 느낀점 :
이제 정렬 문제는 익숙해졌다.
확실히 문제를 꾸준히 푸니까 실력이 느는것 같다
만족스럽다 후후
개선방안 :
#include<cstdio>
int a[111], n;
int main()
{
scanf("%d", &n);
while( n )
{
a[n%10]++;
n/=10;
}
for( int i=9; i>=0; i-- ) for( int j=0; j<a[i]; j++ ) printf("%d", i);
return 0;
}
내 코드는 문자열로 입력받았지만
위의 코드는 int 타입으로 입력받았다.
이게 좀 더 효율적이려나...
728x90
반응형
'Problem Solving' 카테고리의 다른 글
[C++] [LeetCode 35] Search Insert Position (0) | 2021.08.09 |
---|---|
[C++] [백준 11650] 좌표 정렬하기 (0) | 2021.07.27 |
[C++] [백준 1755] 숫자놀이 (0) | 2021.07.27 |
[C++] [LeetCode 169] Majority Element (2) | 2021.07.27 |
[C++] [백준 11656] 접미사 배열 (0) | 2021.07.27 |
댓글