Результаты ручного тестирования:
strings.add("роза"); // только "р", убрал
strings.add("лоза"); // только "л", удвоил
strings.add("лира"); // "р" и "л", оставил
strings.add("мера"); // только "р", убрал
strings.add("вода"); // ни "р", ни "л" - оставил
strings.add("упор"); // только "р", убрал
strings.add("роль"); // "р" и "л", оставил
strings.add("рушить"); // только "р", убрал
strings.add("лимит"); // только "л", удвоил
strings.add("рэле"); // "р" и "л", оставил
Удвоение валидатор принял, а вот удаление - нет.package com.javarush.task.task07.task0716;
import java.util.ArrayList;
/*
Р или Л
*/
public class Solution {
public static void main(String[] args) {
ArrayList<String> strings = new ArrayList<String>();
strings.add("роза");
strings.add("лоза");
strings.add("лира");
strings.add("мера");
strings.add("вода");
strings.add("упор");
strings.add("роль");
strings.add("рушить");
strings.add("лимит");
strings.add("рэле");
strings = fix(strings);
for (String string : strings) {
System.out.println(string);
}
}
public static ArrayList<String> fix(ArrayList<String> strings) {
for (int i = 0; i < strings.size(); i++) {
if (strings.get(i).contains("р") && !strings.get(i).contains("л")) {
strings.remove(i);
}
}
ArrayList<String> wordsThoseMustBeDuplicated = new ArrayList<>();
for (int i = 0; i < strings.size(); i++) {
if (strings.get(i).contains("л") && !strings.get(i).contains("р")) {
wordsThoseMustBeDuplicated.add(strings.get(i));
}
}
for (String wordThatMustBeDuplicated : wordsThoseMustBeDuplicated) {
Integer indexOfWordThatMustBeDuplicated = strings.indexOf(wordThatMustBeDuplicated);
if (indexOfWordThatMustBeDuplicated == 0) {
strings.add(0, wordThatMustBeDuplicated);
} else {
strings.add(indexOfWordThatMustBeDuplicated, wordThatMustBeDuplicated);
}
}
return strings;
}
}