풀이1
#include <string>
#include <cstring>
#include <vector>
using namespace std;
string solution(string s) {
char * arr = new char[s.length()+1];
strcpy(arr, s.c_str());
for(int i=0; i<s.length(); i++)
for(int j=1; j<s.length()-i; j++)
if(arr[i]<arr[i+j])
{
char temp = arr[i];
arr[i] = arr[i+j];
arr[i+j] = temp;
}
string answer(arr); //Char 배열을 String으로 바꾸는 방법.
return answer;
}
풀이2
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(string s) {
sort(s.begin(), s.end(), greater<char>());
return s;
}
sort함수
3번째 인자를 넣지 않으면 default로 오름차순으로 정렬한다. 반환형은 void.
- sort(arr, arr+n)
- sort(arr.begin(), arr.end())
- sort(arr.begin(), arr.end(), compare) //사용자 정의 함수
- sort(arr.begin(), arr.end(), greater<자료형>()) //내림차순
- sort(arr.begin(), arr.end(), less<자료형>()) //오름차순, default와 동일
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[Level 1][C++] 가운데 글자 가져오기 (0) | 2024.09.27 |
---|---|
[Level 1][C++] 시저 암호 (0) | 2024.09.27 |
[Level 1][C++] 서울에서 김서방 찾기 (0) | 2024.09.27 |
[Level 1][C++] 수박수박수박수박수박수? (0) | 2024.09.27 |
[Level 1][C++] 나누어 떨어지는 숫자 배열 (0) | 2024.09.27 |