Java :: Aufgabe #350
1 Lösung
Anzahl möglicher Ballons (balloons)
Anfänger - Java
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ß
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:
import java.util.Arrays;
public class BalLoons {
public static void main(String[] args) {
String s = "balbalonn";
char[] charArray = s.toCharArray();
char[] balloonArray = new char[charArray.length];
for(int i = 0; i < charArray.length; i++) {
if(charArray[i] == 'b' || charArray[i] == 'a' || charArray[i] == 'l' || charArray[i] == 'o' || charArray[i] == 'n') {
balloonArray[i] = charArray[i];
charArray[i] = 0;
}
}
int bCounter = 0;
int aCounter = 0;
int lCounter = 0;
int oCounter = 0;
int nCounter = 0;
for(int i = 0; i < balloonArray.length; i++) {
if(balloonArray[i] == 'b') {
bCounter++;
}
if(balloonArray[i] == 'a') {
aCounter++;
}
if(balloonArray[i] == 'l') {
lCounter++;
}
if(balloonArray[i] == 'o') {
oCounter++;
}
if(balloonArray[i] == 'n') {
nCounter++;
}
}
int balloonCounter = 0;
while(bCounter >= 1 && aCounter >= 1 && lCounter >= 2 && oCounter >= 2 && nCounter >= 1) {
balloonCounter++;
bCounter--;
aCounter--;
lCounter -= 2;
oCounter -= 2;
nCounter--;
}
// System.out.println(Arrays.toString(charArray));
// System.out.println(Arrays.toString(balloonArray));
// System.out.println("B: "+bCounter+"- A: "+aCounter+" - L: "+lCounter+" - O: "+oCounter+" - N: "+nCounter);
System.out.println("BalloonCounter: "+balloonCounter);
}
}
