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

문자열 정렬하기 (1) C++ 버블정렬

by Slow Motion~ 2023. 3. 21.
728x90

문자열 my_string이 주어질때 my_string에 포함되어 있는 숫자들을

 

int형 배열에 넣어 오름차순으로 정리해야 한다.

 

  • 출력 예시

  • 접근 방식

 

아스키코드 값으로 계산해서 int로 변환 해야겠다.

변환한 수는 버블 정렬로 정렬하자.

 

vector<int> solution(string my_string) {
    vector<int> answer;
    // 문자열의 각 문자를 탐색하며
    for(int i = 0; i < my_string.size(); i++){
        // 해당 문자가 0부터 9사이의 숫자인 경우
        if(my_string[i] >=48 && my_string[i] <= 57){
            // 해당 숫자를 answer 벡터에 추가
            answer.push_back(my_string[i] - 48);
        }
    }

    int temp =0;
    // 버블 정렬을 이용하여 숫자를 오름차순으로 정렬
    for(int i =0; i<answer.size()-1; i++){
      for(int j = 0; j <answer.size() -i -1; j++){
            if(answer[j] > answer[j+1]){
            temp = answer[j+1];
            answer[j+1] = answer[j];
            answer[j] = temp;
            }
      }       
    }
    // 정렬된 숫자 벡터를 반환
    return answer;
}

 

'코테 > 프로그래머스' 카테고리의 다른 글

문자열 정렬하기(1) C++  (0) 2023.03.21
특정 문자 제거  (0) 2023.02.22
문자 반복 출력하기  (0) 2023.02.22
문자열 뒤집기(for문에 대해)  (0) 2023.02.22
각도기  (0) 2023.02.21

댓글