[白俊1475]部屋番号
6349 ワード
問題の概要
多順は部屋のドアの前にプラスチックの字で部屋番号を貼りたいと思っています.
しかし、市販のプラスチックの字は0-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;
}
Reference
この問題について([白俊1475]部屋番号), 我々は、より多くの情報をここで見つけました https://velog.io/@coding3392/백준-1475-방-번호テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol