Code KATA/알고리즘 코드카타

[2025.01.04] 문자열 내림차순으로 배치하기

iiblueblue 2025. 1. 3. 12:21

문제 설명

문자열 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