Algorithm/Cases-Study

SWEA-1946 간단한 압축풀기

Xi_kor 2021. 3. 18. 20:31

cnt라는 변수를 사용해서 10번씩 카운팅해주었다.

num이라는 변수는 해당 문자가 출력되어야할 횟수이다. num만큼 출력하면서 cnt를 더하며 cnt가 10이 된다면 줄 바꿈을 해주었다.

cnt를 초기화하지 않아 다음 문자열에서도 값을 유지한채 계속 사용하게끔 했다.

#include <iostream>
#include <queue>
#include <vector>
#include <cstring>
#include <algorithm>

using namespace std;

int main(){
	int test_case;
	cin>>test_case;
	
	for(int T=1; T<=test_case; T++){
		int n;
		cin>>n;
		
		vector <pair<char, int> > v;
		v.clear();
		
		for(int i=0; i<n; i++){
			char ch; int num;
			cin>>ch>>num;
			v.push_back(make_pair(ch, num));
		}
		
		int cnt=0;
		cout<<"#"<<T<<'\n';
		for(int i=0; i<v.size(); i++){
			int num=v[i].second;
			
			for(int j=0; j<num; j++){
				cout<<v[i].first;
				cnt++;
				if(cnt==10){
					cout<<'\n';
					cnt=0;
				}
			}
		}
		cout<<'\n';
	}
	return 0;
}