문제 설명
문자열 s에 나타나는 문자를 큰 것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한사항
- str은 길이 1이상인 문자열입니다.
입출력 예
a | return | ||
"Zbcdefg" | "gfedcbZ" |
문제 풀이
풀이 언어 : C++
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(string s) {
string answer = "";
sort(s.rbegin(), s.rend());
answer=s;
return answer;
}
문자열도 벡터처럼 sort를 써서 정렬할 수 있다. algorithm 헤더파일을 추가하고 sort를 이용해 s를 내림차순 정렬해준다. 그리고 s값을 리턴해주면 된다.
참고 사항
문자열도 벡터처럼 sort를 써서 정렬할 수 있다.
#include <algorithm>
...
sort(str.begin(), str.end()); // 오름차순 정렬
sort(str.rbegin(), str.rend()); // 내림차순 정렬
소문자의 큰 문자부터 정렬이 되고 소문자 다음에 대문자가 큰 문자부터 정렬되기 시작한다. 단 sort를 사용하면 원본 string 변수가 변경되므로 변경을 원치 않는다면 원본을 복사해서 사용해야 한다. 또한 대소문자를 구별하고 싶지 않다면 일단 전부 대문자나 소문자로 맞추고 정렬해야 한다.
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/12917
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
'Code KATA > 알고리즘 코드카타' 카테고리의 다른 글
[2025.01.06] 문자열 다루기 기본 (0) | 2025.01.06 |
---|---|
[2025.01.05] 부족한 금액 계산하기 (0) | 2025.01.06 |
[2025.01.03] 약수의 개수와 덧셈 (0) | 2025.01.03 |
[2025.01.02] [PCCE 기출문제] 9번 / 지폐 접기 (0) | 2025.01.02 |
[2025.01.02] [PCCE 기출문제] 1번 / 문자 출력 (1) | 2025.01.02 |