[白俊1475]部屋番号


問題の概要


多順は部屋のドアの前にプラスチックの字で部屋番号を貼りたいと思っています.
しかし、市販のプラスチックの字は0-9セットで売られています.
部屋番号を示すために何セット購入する必要がありますか?
  • ですが、6と9は互換性があります.
  • 入力


    部屋番号N(Nが1000000以下の自然数または0)

    しゅつりょく


    マルチシスが購入するプラスチック文字セットの数.

    アイデア


    マルチシスが持つ文字数は順番に管理されます.
    6と9が互換性があるのは、9を6に統計することによって体現される.

    思い違い


    最初は以前買ったセットの中で何が必要かチェックしました.
    でもそうすると...戦前...そこで買ったスーツは悲しくて捨てられた.

    ソースコード


    10分
    #include<iostream>
    #include<string>
    #include<memory.h>
    using namespace std;
    //조금 현실적으로 시뮬레이션
    //versionA
    int one_set[10];
    int ctr = 0;
    void buy_new_set() {
    	//10개 다 돌면서 내가 가진 개수 올리는 걸로 구현 바꾸기
    	for (int i = 0; i < 10; i++) {
    
    		one_set[i]++;
    	}
    	one_set[6]++;//9는 6에 포함됨
    	ctr++;
    }
    
    int main() {
    	string s;
    	cin >> s;
    	buy_new_set();
    	for (int i = 0; i < s.size(); i++) {
    		//6 9 예외처리
    		if (s[i] == '9') {
    			if (one_set[6] == 0) buy_new_set();
    			one_set[6]--;
    			continue;
    		}
    
    		if (one_set[s[i] - '0'] == 0) buy_new_set();
    		one_set[s[i] - '0']--;
    	}
    	cout << ctr << endl;
    }