C++ :: Aufgabe #346

1 Lösung Lösung öffentlich

Anzahl möglicher Ballons (balloons)

Anfänger - C++ von JKooP - 02.04.2021 um 19:06 Uhr
In einem String kommen unsortiert Zeichen vor, mit denen man das Wort „balloon“ bilden soll.
Erstelle eine Methode/Funktion, die als Ergebnis die Anzahl der möglichen Wortbildungen ausgibt,
wobei jeder Buchstabe (Zeichen) nur einmal verwendet werden darf.

Beispiel 1:
s = "nlaebolko"
Lösung: 1

Beispiel 2:
s = "loonbalxballpoon"
Lösung: 2

Beispiel 3:
s = „balbalonn“
Lösung: 0

Viel Spaß

Lösungen:

vote_ok
von JKooP (18090 Punkte) - 16.05.2021 um 16:38 Uhr
C++ 17
Quellcode ausblenden C-Code
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;

int max_num(string s) {
    int a[26]{ 0 };
    transform(s.begin(), s.end(), s.begin(), ::tolower);

    for (const auto& i : s)
        a[i - 'a'] += 1;

    vector<int> r{ a[0], a[1], a[11] / 2, a[13], a[14] / 2 };
    return *min_element(r.begin(), r.end());
}

int main()
{
    vector<string> lst{ "nlaebolko", "Loonbalxballpoon", "balbalonn" };
    for (const auto& l : lst) 
        cout << l << ": " << max_num(l) << "\n";
}