[프로그래머스 Level 1] 문자열 내림차순으로 배치하기

문제

문자열 내림차순으로 배치하기  

 

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.

 

제한 사항

  1. str은 길이 1 이상인 문자열입니다.

 

코드

#include <string>
#include <algorithm>

using namespace std;

bool cmp(const char& a, const char& b)
{
    return a > b;
}

string solution(string s)
{
    sort(s.begin(), s.end(), cmp);
    return s;
}

 

나의 생각

아스키코드 상으로 값이 큰 알파벳을 정렬하는 문제다.

위 코드처럼 compare 함수를 정의해도 되고 아래 코드처럼 greater 구조체를 사용해도 된다.

#include <string>
#include <algorithm>

using namespace std;

string solution(string s) 
{
    sort (s.begin(), s.end(), greater<char>());
    return s;
}