문제 설명

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

 

제한 사항

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

입출력 예

"Zbcdefg" "gfedcbZ"

코드#1

string solution(string s) 
{
    char dump ;

    int size = s.size();

    for (int i = 0; i < size; i++)
    {
        for (int j = i+1; j < size; j++)
        {
            if (s[i] < s[j])
            {
                dump = s[i];
                s[i] = s[j];
                s[j] = dump;
            }
        }
    }
    return s;
}

코드#2

#include <algorithm>

using namespace std;

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

    return s;
}
더보기

#include <algorithm> 헤더파일 추가

 

배열(arr), vector(v)

  1. sort(arr, arr + n);                                                             // 배열에서 사용 (시작점 주소, 마지막 주소 + 1)
  2. sort(v.begin(), v. end()); [less<자료형>() 생략]     // 오름차순 정렬 (default = Ascending order)
  3. sort(v.begin(), v. end(), greater<자료형>());         // 내림차순 정렬 (Descending order)
  4. sort(v.begin(), v. end(), compare);                          // 사용자 정의 함수 compare

+ Recent posts