プログラミング問題-文字列エンコーディング


内容は更新し続けますので、間違いがあったらご指摘ください.ありがとうございます.

タイトル


文字列を指定するには、文字列を再符号化し、連続する文字を「連続する個数+文字」に置き換えます.例えば文字列AAAABCCDAAは4 A 1 B 2 C 1 D 2 Aに符号化される.
入力説明:各テスト入力には1つのテスト例が含まれています.各テスト例入力には1行の文字列しかありません.文字列には大文字と英語のアルファベットしか含まれていません.長さは10000を超えません.
出力記述:符号化された文字列を出力する
入力例:AAAABCCDAA
出力例:4 A 1 B 2 C 1 D 2 A

ぶんせき


stringを読み込んで、演算して、1つの結果を得て1つの結果を出力します.各テストには1つのテスト例しか含まれていないので、while(cin>>x)で使用するデータ構造は必要ありません.string

コード1

#include 
#include 
using namespace std;

int main()
{
    string str;
    cin>>str;
    int strCount=1;
    int sLength=str.length();
    for(int i=0;iif((i1)&&str[i]==str[i+1])// !
        {
            ++strCount;
        }
        else
        {
            cout<1;
        }
    }
    return 0;
}

コード2

// , , !
#include 
#include 
#include 
using namespace std;

int main()
{
    string str;
    cin>>str;
    int sLength=str.length();
    int strCount=1;
    string resStr;// 
    vector<int> resInt;// 
    for(int i=0;iif((i1)&&str[i]==str[i+1])// !
            ++strCount;
        else
        {
            resStr+=str[i];
            resInt.push_back(strCount);
            strCount=1;
        }
    }
    int countLength=resInt.size();//resStr resInt , 
    for(int k=0;kcout<cout<return 0;
}