반응형
프로그래머스 링크
https://school.programmers.co.kr/learn/courses/30/lessons/12917
문제 설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
- str은 길이 1 이상인 문자열입니다.
s | return |
"Zbcdefg" | "gfedcbZ" |
코드 보기전 알고가면 좋은 함수
std::sort()
#include<algorithm>에 속해있음
algorithm 헤더파일에서 제공하는 STL로써, 기본적으로 범위의 요소 [begin,end]의 사이에있는 원소들을 오름차순으로 정렬합니다.
sort함수 원형
template <typename T>
void sort(T start, T end);
template <typename T>
void sort(T start, T end, Compare comp);
std::greater<T>();
sort함수의 3번째 인자로 넣어서 사용할 수 있는데 오름차순 정렬을 내림차순 정렬로 변환해주는 연산을 수행할 수 있게 도와주는 객체클래스이다.
동작 원리
template <class T>
struct greater : binary_function <T,T,bool>
{
bool operator() (const T& x, const T& y) const {return x>y;}
};
코드
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(string s) {
sort(s.begin(), s.end(), greater<int>());
return s;
}
반응형
'프로그래머스 > lv1' 카테고리의 다른 글
프로그래머스 : 시저 암호(lv1) c++ (0) | 2022.11.18 |
---|---|
프로그래머스 : 문자열 다루기 기본(lv1) c++ (0) | 2022.11.14 |
프로그래머스 : 약수의 개수와 덧셈(lv1) C++ (0) | 2022.11.05 |
프로그래머스 : 없는 숫자 더하기(lv1) C++ (0) | 2022.11.05 |
프로그래머스 : 제일 작은 수 제거하기(lv1) C++ (0) | 2022.11.05 |
댓글