Notice
Recent Posts
Recent Comments
Link
bdfgdfg
[레벨 1] 문자열 내림차순으로 배치하기 본문
반응형
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
string solution(string s) {
sort(s.begin(),s.end(),greater<char>());
return s;
}
greater는 내림차순. less는 오름차순.
다른 사람의 풀이중 람다를 사용한 풀이를 보았는데. 저런식으로. 함수 포인터(함수 객체등)를 만드는 연습을 해야겠다.
sort(s.begin(),s.end(),[](const char& lhs, const char& rhs)
{
return lhs>rhs;
});
위의 방법을 응용한 람다가아닌 함수 객체
struct boo
{
bool operator()(const char& lhs, const char& rhs)
{
return lhs > rhs;
}
};
string solution(string s) {
string answer = "";
sort(s.begin(), s.end(),boo());
return s;
}
int main(void)
{
string a = solution("Zbcdefg");
cout << a;
return 0;
}
함수포인터로 넘기기. 함수 그자체를 넘기거나, 함수 포인터로 넘기거나
bool (*ptr)(const char& lhs, const char& rhs);
bool Compare(const char& lhs, const char& rhs)
{
return lhs > rhs;
}
string solution(string s) {
string answer = "";
ptr = Compare; // 등록
sort(s.begin(), s.end(), ptr); // 혹은 Compare.
return s;
}
int main(void)
{
string a = solution("Zbcdefg");
cout << a;
return 0;
}
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[레벨1] 문자열 내마음대로 정렬하기 (0) | 2021.09.05 |
---|---|
[레벨1] 문자열 내 p와 y의 개수 (0) | 2021.09.05 |
[레벨1] 서울에서 김서방 찾기. (0) | 2021.09.04 |
[레벨1] 소수찾기 - 에라토스테네스의 체 (0) | 2021.09.04 |
[레벨 1] 수박수박수박 (0) | 2021.09.03 |
Comments