TUZ_4-05. Объединение соседних цветов по заданным правилам
4.5. Объединение соседних цветов по заданным правилам
В этом задании дана строка, состоящая из символов, соответствующих трем цветам: yellow (желтый), red (красный) и blue (синий).
Требуется попарно скомбинировать цвета, составляющие эту строку, и получить ответ, применяя следующие правила.
1. Если складываются два одинаковых цвета, то в результате получается тот же самый цвет.
2. Если складываются два разных цвета, то в результате получается третий цвет.
3. Например, для строки s = 'rybyr' результат определяется, как описано далее.
- Начиная с крайнего левого индекса рассматривается пара элементов с индексами 0 и 0 + 1 (r и y),
комбинирование которых дает цвет b (r и y – разные цвета, поэтому получается третий цвет,
в этом примере b, согласно второму правилу), и b вставляется в массив A,
- следующая пара, 1 и 1 + 1 (y и b), дает r, и r вставляется в массив A.
- Следующая пара, 2 и 2 + 1 (b and y), дает r, и r вставляется в массив A,
- следующая пара, 3 и 3 + 1 (y и r), дает b, и b вставляется в массив A.
В результате получается массив А= brrb.
Далее анализируется массив A.
- Начиная с крайнего левого индекса рассматривается пара элементов с индексами 0 и 0 + 1 (b и r),
комбинирование которых дает цвет y, и y вставляется в массив B.
- Следующая пара, 1 и 1 + 1 (r и r), дает r, и r вставляется в массив B,
- следующая пара, 2 и 2 + 1 (r и b), дает y, и y вставляется в массив B.
- В результате получается массив B = yry.
Далее анализируется массив B.
- Начиная с крайнего левого индекса рассматривается пара элементов с индексами 0 и 0 + 1 (y и r),
комбинирование которых дает цвет b, и b вставляется в массив C.
- Следующая пара, 1 и 1 + 1 (r и y), дает b, и b вставляется в массив C.
- В результате получается массив C = bb.
Аналогично анализируется массив C, и получается массив D = b.
Длина D равна единице, и его единственный элемент (в данном примере b) является возвращаемым значением.
Ваша задача: написать функцию, которая принимает строку, состоящую из символов, соответствующих трем цветам,
и возвращает один цвет, полученный в результате комбинирования.
В табл. 4.5 показаны ожидаемые результаты для некоторых входных данных.
Таблица 4.5. Некоторые ожидаемые результаты для задачи объединения соседних цветов по заданным правилам |
Colors |
Ожидаемый результат |
rybyr |
b |
rrrryybby |
y |
rby |
b |
bbbryryrybrrbyr |
y |