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

NJW·2021년 8월 19일
0

코테

목록 보기
60/170

들어가는 말

문자열을 내림차순으로 비치하는 문제이다.

코드 설명

문자열 문제만 나오면 뭐랄까... 긴장이 된다. 다른 숫자들처럼 해주면 되는 걸 아는데, 묘하게 어색하단 말이지. 뭐, 버블 정렬을 이용해서 정렬해주었다. 처음에는 sort함수를 쓰려 했으나 자꾸만 컴파일 에러가 나서... 그냥 반복문으로 돌려줬다. ㅎㅎ.

코드

#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    int temp = 0;
    
    for(int i = s.size() - 1; i > 0; i--){
        for(int j = 0; j < i; j++){
            if(s[j] < s[j + 1]){
                temp = s[j];
                s[j] = s[j + 1];
                s[j + 1] = temp;
            }
        }
    }
    return s;
}

P.s

sort()로 푼 사람들이 있을 거라 생각했는데, 역시 모든 풀이 젤 위쪽에서 발견했다.
sort(s.begin(), s.end(), greater());
맨 마지막에다가 이렇게 써줘야 하는 모양이다. greater은 내림차순을 의미하는 거 같고.
헤더 파일로는 algorithm과 functional을 추가했다는 걸 볼 수 있었다.

profile
https://jiwonna52.tistory.com/

0개의 댓글