본문 바로가기
프로그래밍/프로그래머스

C++ 문자열 내림차순으로 배치하기(프로그래머스)

by devsu 2020. 6. 5.

문자열

프로그래머스_문자열 내림차순으로 배치하기

https://programmers.co.kr/

 

문제 해석

 

이 문제를 풀기위해 이해해야 할 내용은 다음과 같습니다.

 

목표

문자열 내림차순으로 정렬

방법

1. 문자열 내림차순으로 정렬

 

결과

문자열 내림차순으로 정렬

 

통과한 코드

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* a) {

    // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
    int nSize = strlen(a);
    char* s = (char*)malloc(nSize + 1);
    strcpy(s, a);
    char* answer = (char*)malloc(nSize + 1);
    memset(answer, 0, nSize + 1);
    for (int i = 0; i < nSize; i++)
    {
        for (int j = i + 1; j <= nSize - 1; j++)
        {
            if (s[i] < s[j])
            {
                char tmp = s[i];
                s[i] = s[j];
                s[j] = tmp;
            }
        }
    }
    for (int i = 0; i < nSize; i++)
    {
        answer[i] = s[i];
    }
    return answer;
}

내림차순으로 배치하기