猫セット / paizaOnlineHackathon7

paiza.jp

#include <algorithm>
#include <iostream>
#include <string>
using namespace std;

void Solve(string str)  {
    int data[3] = {0}, maxCount = 0, minCount = 100;

    for (int i=0; i<str.length(); ++i)  {
        if (str[i] == 'c')  ++data[0];
        else if (str[i] == 'a') ++data[1];
        else if (str[i] == 't') ++data[2];
    }
    for (int i=0; i<3; ++i)
        minCount = min(minCount,data[i]);
    for (int i=0; i<3; ++i) {
        data[i] -= minCount;
        maxCount = max(maxCount,data[i]);
    }
    cout << minCount << endl;
    for (int i=0; i<3; ++i) {
        cout << maxCount - data[i] << endl;
    }
}

int main(void)  {
    string str;

    getline(cin,str);
    Solve(str);
    return 0;
}

c,a,tの最小値を求め出力。そのあと各々の超過分を求め出力。
〜了〜