문제풀이

[프로그래머스] 문자열 정렬하기 (1) C++

1ye1 2024. 11. 8. 23:10

[문제 설명]
문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요.

 

[제한사항]
1 ≤ my_string의 길이 ≤ 100
my_string에는 숫자가 한 개 이상 포함되어 있습니다.
my_string은 영어 소문자 또는 0부터 9까지의 숫자로 이루어져 있습니다. - - -

 

[문제풀이]

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

vector<int> solution(string my_string) {
    vector<int> answer;
    for(int i=0;i<my_string.size();i++){
        if(isdigit(my_string[i])==1){ //숫자 판별
            answer.push_back(my_string[i]-'0');
        }
    }
    sort(answer.begin(), answer.end()); //오름차순 정렬
    return answer;
}

 

[학습사항 / 개선사항]

isdigit() 함수를 새로 알게 되었다.

0~9까지의 ASCII 값이 들어오면 1을 반환하고, 이외의 값이 들어오면 0을 반환한다.