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

2020. 6. 8. 09:29알고리즘_생각하기/프로그래머스 Level 1

문제 설명

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

제한 사항

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

풀이

사용 언어 : C++

#include <string>
#include <vector>

using namespace std;

string solution(string s) 

{
    string answer = "";
    
    for (int i = 0; i < s.size(); i++) //문자열을 서로서로 비교하기 위해 이중 포문을 돌린다
    {
        for (int j = 0; j < s.size(); j++)
        {
            if (s[i] >= s[j]) //큰 것부터 배치해야 하므로 비교를 하고
            {
                char temp = s[i]; //스왑!!
                s[i] = s[j];
                s[j] = temp;
            }
        }
    }

    for (int i = 0; i < s.size(); i++) //정렬이 완료된 문자열을 answer에 넣는다. 혹은 return을 정렬된 문자열로 바꾸어

                                            줘도 상관 없음
    {
        answer.push_back(s[i]);
   }
   
    
    return answer;
}