[swexpert] 1221. GNS (C++, 문자열)

728x90
반응형

입력받은 문자열의 실제 숫자 개수를 배열에 저장한다 (인덱스 = 숫자)

숫자 개수만큼 다시 문자열 형태로 출력해준다.

 

#include <iostream>
#include <string>

using namespace std;

int t;


int getNum(string str) {
	if (str == "ZRO")return 0;
	if (str == "ONE")return 1;
	if (str == "TWO")return 2;
	if (str == "THR")return 3;
	if (str == "FOR")return 4;
	if (str == "FIV")return 5;
	if (str == "SIX")return 6;
	if (str == "SVN")return 7;
	if (str == "EGT")return 8;
	else return 9;
}


string getStr(int num) {
	if (num == 0)return "ZRO";
	if (num == 1)return "ONE";
	if (num == 2)return "TWO";
	if (num == 3)return "THR";
	if (num == 4)return "FOR";
	if (num == 5)return "FIV";
	if (num == 6)return "SIX";
	if (num == 7)return "SVN";
	if (num == 8)return "EGT";
	else return "NIN";
}

int main(void) {

	ios::sync_with_stdio(false);
	cin.tie(NULL);

	cin >> t;
	
	for (int tc = 1; tc<=t ; tc++)
	{
		string str,tmp;
		int n;
		cin >> str>>n;

		int a[10] = {0,};
		for (int i = 0; i < n; i++) {
			cin >> tmp;
			a[getNum(tmp)]++;
		}
		
		cout << str << "\n";
		for (int i = 0; i <= 9; i++) {
			for (int j = 0; j < a[i]; j++) {
				cout << getStr(i) << " ";
			}
		}
		cout << "\n";

		
	}


	return 0;
}
728x90
반응형
TAGS.

Comments