문자열을 내림차순으로 비치하는 문제이다.
문자열 문제만 나오면 뭐랄까... 긴장이 된다. 다른 숫자들처럼 해주면 되는 걸 아는데, 묘하게 어색하단 말이지. 뭐, 버블 정렬을 이용해서 정렬해주었다. 처음에는 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;
}
sort()로 푼 사람들이 있을 거라 생각했는데, 역시 모든 풀이 젤 위쪽에서 발견했다.
sort(s.begin(), s.end(), greater());
맨 마지막에다가 이렇게 써줘야 하는 모양이다. greater은 내림차순을 의미하는 거 같고.
헤더 파일로는 algorithm과 functional을 추가했다는 걸 볼 수 있었다.