w3resource

PHP Exercises: Restore the original string by entering the compressed string with this rule

PHP: Exercise-72 with Solution

When character are consecutive in a string , it is possible to shorten the character string by replacing the character with a certain rule. For example, in the case of the character string YYYYY, if it is expressed as # 5 Y, it is compressed by one character.
Write a PHP program to restore the original string by entering the compressed string with this rule. However, the # character does not appear in the restored character string.
Note: The original sentences are uppercase letters, lowercase letters, numbers, symbols, less than 100 letters, and consecutive letters are not more than 9 letters.

Input: Multiple character strings are given. One string is given per line

Sample Solution:

PHP Code:

<?php
// Input string containing "@" symbols with repetition information
$str = "@88 + 1 = 1@80";

// Initialize index for traversing the input string
$index = 0;

// Initialize an array to store the resulting characters
$result = array();

// Loop through each character in the input string
while ($index < strlen($str)) {
    // Get the current character
    $t = $str[$index++];

    // Check if the current character is "@"
    if ($t == "@") {
        // Extract the length and character information for repetition
        $len = $str[$index++];
        $char = $str[$index++];

        // Initialize an empty string to store repeated characters
        $run = "";

        // Repeat the character for the specified length
        for ($i = 0; $i < $len; $i++) {
            $run .= $char;
        }

        // Add the repeated characters to the result array
        $result[] = $run;
    } else {
        // If the character is not "@", add it directly to the result array
        $result[] = $t;
    }
}

// Output the final result by concatenating the characters in the result array
echo implode("", $result);
?>

Sample Input:
@88 + 1 = 1@80

Sample Output:

88888888 + 1 = 100000000

Flowchart:

Flowchart: Read the mass data and find the number of islands.

PHP Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a PHP program to read the mass data and find the number of islands.
Next: Write a PHP program that compute the area of the polygon.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.