[C++로 풀이] 문자열 내림 차순으로 배치하기⭐
카테고리: Programmers
태그: Coding Test Algorithm
📌 문자열 내림 차순으로 배치하기
난이도 ⭐
🚀 문제
🚀 내 풀이 ⭕
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(const char& a, const char& b)
{
if (a >= 'A' && b <= 'z') // a는 대문자, b는 소문자
return a > b;
return a < b;
}
string solution(string s) {
string answer = "";
vector<char> v;
for(int i = 0; i < s.length(); i++)
v.push_back(s[i]);
sort(v.begin(), v.end(), cmp);
answer.resize(v.size());
for(int i = 0; i < v.size(); i++)
answer[i] = v[i];
return answer;
}
- 내가 생각했던 것
- string 은 sort 를 못 시킬 것 같다. 👉 응 아니야.. 시킬 수 있어 ㅠ
- 그래서 한 문자씩(char) 벡터에 옮겨서 정렬 후
- 이를 다시 answer 에 한 글자씩 붙인다.
- 인덱스로 붙이기 위해 answer를 resize하여 크기 늘림
🚀 다른 풀이
출처 : 프로그래머스
tring solution(string s) {
string answer = "";
sort(s.rbegin(),s.rend());
return s;
}
그냥 이렇게 string
을 거꾸로 정렬하면 됐었다.
string solution(string s) {
sort (s.begin(), s.end(), greater<char>());
return s;
}
혹은 이렇게 내림 차순.
🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄
댓글 남기기