언어/c, c++

백준(BAEKJOOB) 1427번 소트인사이드 c++언어

깡 딱 2023. 1. 24. 00:42
728x90

숫자를 문자열로 받아서 내림차순으로 정렬하는 문제이다.

 

 

bool compare(int a, int b) {
	return a > b;
}

내림 차순 이기 때문에 a>b라는 값을 잡아주고 

 

	int n;
	string a;

	cin >> n;
	a = to_string(n);

to_string을 이용한다. int 형을 형 변환 시켜준다.

 

혹 이문제에서 라이브러리를 이용하지 않는다면

 

	for (int i = 0; i < number.length(); i++)
		arr[number[i] - '0']++;

string을 number로 받아서 문자의 길이를 알게 된다음 

-'0'을 해준다면 내가 원하는 숫자가 나온다

 

 

 

 

총 코드

 

 

 

#include<iostream>
#include<string>
#include <vector>
#include <algorithm>

using namespace std;


bool compare(int a, int b) {
	return a > b;
}

int main(){
	int n;
	string a;

	cin >> n;
	a = to_string(n);

	sort(a.begin(), a.end(), compare);
	cout << a;
}





728x90