Loading...
evgeni4 avatar evgeni4 12 Точки

05. Тake/Skip Rope

Здравейте, може ли малко помощ с тая задача не мога да я довърша

https://pastebin.com/CB2DVaVY

1.Take/Skip Rope

Write a program, which reads a string and skips through it, extracting a hidden message. The algorithm you have to implement is as follows:

Let’s take the string "skipTest_String044170" as an example.

Take every digit from the string and store it somewhere. After that, remove all the digits from the string. After this operation, you should have two lists of items: the numbers list and the non-numbers list:

  • Numbers list: [0, 4, 4, 1, 7, 0]
  • Non-numbers: [s, k, i, p, T, e, s, t, _, S, t, r, i, n, g]

After that, take every digit in the numbers list and split it up into a take list and a skip list, depending on whether the digit is in an even or an odd index:

  • Numbers list: [0, 4, 4, 1, 7, 0]
  • Take list: [0, 4, 7]
  • Skip list: [4, 1, 0]

Afterwards, iterate over both of the lists and take {takeCount} characters and store it in a result string, then skip {skipCount} characters from the non-numbers list, Note that the skipped characters are summed up as they go. The process would look like this on the aforementioned non-numbers list:

 

Afterwards, iterate over both of the lists and skip {skipCount} characters from the non-numbers list, then take {takeCount} characters and store it in a result string. Note that the skipped characters are summed up as they go. The process would look like this on the aforementioned non-numbers list:

Example: "skipTest_String"

  1. Take 0 characters è Taken: "", skip 4 characters è Skipped: "skip"è Result: ""
  2. Take 4 charactersè Taken: "Test", skip 1 characters è Skipped: "_" è Result: "Test"
  3. Take 7 charactersè Taken: "String", skip 0 characters è Skipped: "" è Result: "TestString"

After that, just print the result string on the console.

Input

The encrypted message as a string

Output

The decrypted message as a string

Constraints

  • The count of digits in the input string will always be even.
  • The encrypted message will contain any printable ASCII character.

Examples

Input

Output

T2exs15ti23ng1_3cT1h3e0_Roppe

TestingTheRope

O{1ne1T2021wf312o13Th111xreve!!@!

OneTwoThree!!!

this forbidden mess of an age rating 0127504740

hidden message

Тагове:
0
PHP Fundamentals
willystyle avatar willystyle 2472 Точки

2 реда са ти оставали до финала :)

<?php
$input = readline();
$number = [];
$noNumber = [];
$take = [];
$skip = [];
$result = "";
for ($i = 0; $i < strlen($input); $i++) {
    if (ctype_digit($input[$i])) {
        $number[] = $input[$i];
    } else {
        $noNumber[] = $input[$i];
    }
}
for ($i = 0; $i < count($number); $i++) {
    if ($i % 2 == 0) {
        $take[] = $number[$i];
    } else {
        $skip[] = $number[$i];
    }
}
$currentIndex = 0;
for ($i = 0; $i < count($take); $i++) {
    $result .= implode("", array_slice($noNumber, $currentIndex, $take[$i]));
    $currentIndex += $take[$i] + $skip[$i];
}
echo $result;

 

1
evgeni4 avatar evgeni4 12 Точки

много ти благодаря.ами в тях се оплетох :)

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.