코딩하는 해달이

[level 1] 문자열 내림차순으로 배치하기 본문

개인 공부/프로그래머스

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

코딩하는 해달 2022. 7. 22. 12:30

문제 설명

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.

제한 사항

  • str은 길이 1 이상인 문자열입니다.

문제 이해

문자를 큰것에서 작은것 순으로 정렬해야한다.

ASCII코드를 사용해보자.

 

알고리즘

1. 문자열 s를 입력받는다.

2. s의 요소 한개와 그 다음번째 요소를 비교해서 내림차순으로 정렬한다.


풀이 코드

#include <string>
#include <vector>

using namespace std;

string solution(string s) {
    string answer = s;

    for (int i = 0; i < s.length(); i++) {
        for (int j = i + 1; j < s.length(); j++) {
            char tmp = ' ';
            if (answer[i] < answer[j]) {
                tmp = answer[i];
                answer[i] = answer[j];
                answer[j] = tmp;
            }
        }
    }

    return answer;
}

https://school.programmers.co.kr/learn/courses/30/lessons/12917

 

반응형
Comments