본문 바로가기
코테/구현

[C/C++] 나동빈 문자열 재정렬, 구현

by 상똥 2023. 2. 15.

문제

알파벳 대문자와 숫자(0~9)로만 구성된 문자열이 입력된다. 모든 알파벳을 오름차순으로 정렬하여 이어 출력한 뒤 모든 숫자를 더하여 출력한다. 예를 들어 K1KA5CB7이 주어지면 ABCKKL13을 출력한다.

코드

#include <iostream>
#include <string.h>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
	vector<int> alphabet_num;
	string N;
	char alphabet;
	cin >> N;
	int num, sum = 0;
	for (int i = 0; i < N.length(); i++) {
		if (N[i] > 64) {
			num = N[i];
			alphabet_num.push_back(num);
		}
		else
			sum += N[i] - 48;
	}

	sort(alphabet_num.begin(), alphabet_num.end());
	for (int i = 0; i < alphabet_num.size(); i++) {
		alphabet = alphabet_num[i];
		cout << alphabet;
	}
	cout << sum;
}