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:
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.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics