В очереди стоят мальчики и девченки. В начале каждой минуты, если

В очереди стоят мальчишки и девченки. В начале каждой минуты, если за каким-то мальчуганом стоит девченка, то он изменяется с ней местами, пропуская ее вперед (при этом общее количество ребят в очереди не изменяется).
Вам дана очередь в виде последовательности букв M и D (начало очереди слева), определите, как она будет выглядеть через 10 минут.
MDDDMMDMDDDMMMMMMDDM
В качестве ответа выведите строчку из больших латинских букв M и D (не разделяя их пробелами).
Пример. Очередь MDD через минутку будет таковой: DMD, а еще через минутку такой: DDM.

Задать свой вопрос
1 ответ
Код на ruby 2.2.3p173
def zadanie(line, time)
    line = line.gsub(/[^MD]/, "")
    time.times i
        k = 0
        while k lt; line.size - 1 do
            if line[k..k + 1] == "MD"
                line[k], line[k + 1] = line[k + 1], line[k]
                k+=1
            end
            k+=1
        end
        p [i+1,line]
    
    return line
end
Образцы внедрения
p zadanie("MDDDMMDMDDDMMMMMMDDM", 10)
p zadanie("MMDMDDDDDMMDDDMDDDMD", 10)
p zadanie("MMDDDDMDMM", 5)

Вывод
[1, "DMDDMDMDMDDMMMMMDMDM"]
[2, "DDMDDMDMDMDMMMMDMDMM"]
[3, "DDDMDDMDMDMMMMDMDMMM"]
[4, "DDDDMDDMDMMMMDMDMMMM"]
[5, "DDDDDMDDMMMMDMDMMMMM"]
[6, "DDDDDDMDMMMDMDMMMMMM"]
[7, "DDDDDDDMMMDMDMMMMMMM"]
[8, "DDDDDDDMMDMDMMMMMMMM"]
[9, "DDDDDDDMDMDMMMMMMMMM"]
[10, "DDDDDDDDMDMMMMMMMMMM"]
"DDDDDDDDMDMMMMMMMMMM"

Алена
Плиз поставьте лучший ответ
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт