Information Security ˗ˋˏ ♡ ˎˊ˗

Programming/Programming 풀이

[Algorithm] 문자열 재정렬 (C++)

토오쓰 2020. 10. 17. 18:22

 

문제

알파벳 대문자와 숫자(0~9)로만 구성된 문자열이 입력으로 주어진다. 이 때 모든 알파벳을 오름차순으로 정렬하여 이어서 출력한 뒤에, 그 뒤에 모든 숫자를 더한 값을 이어서 출력한다.

입력: 첫째 줄에 하나의 문자열 S가 주어진다(1 <= S 길이 <= 10,000)

출력: 첫째 줄에 문제에서 요구하는 정답을 출력한다.

예)

입력: K1KA5CB7 => 출력: ABCKK13

 

 

code

#include <iostream>
#include <algorithm>
#include <string>
using namespace std;

int main() {
	int sum = 0;
	string str = "";
	string scores;
	cin >> scores;
	//입력받은 문자열의 수만큼 반복하며 계산한다.
	for (int i = 0; i < scores.size(); i++) {
		if ('0' <= scores[i] && scores[i] <= '9')
			sum += scores[i]-'0';
		else 
			str += scores[i];
	}
	//두 개의 인자만 넣어주는 경우 오름차순으로 정렬
	sort(str.begin(), str.end());
	cout << str;

	if (sum != 0)
		cout << sum;
}

 

 

결과