1678. Goal Parser Interpretation LeetCode Solution
In this guide, you will get 1678. Goal Parser Interpretation LeetCode Solution with the best time and space complexity. The solution to Goal Parser Interpretation problem is provided in various programming languages like C++, Java, and Python. This will be helpful for you if you are preparing for placements, hackathons, interviews, or practice purposes. The solutions provided here are very easy to follow and include detailed explanations.
Table of Contents
- Problem Statement
- Complexity Analysis
- Goal Parser Interpretation solution in C++
- Goal Parser Interpretation solution in Java
- Goal Parser Interpretation solution in Python
- Additional Resources
Problem Statement of Goal Parser Interpretation
You own a Goal Parser that can interpret a string command. The command consists of an alphabet of “G”, “()” and/or “(al)” in some order. The Goal Parser will interpret “G” as the string “G”, “()” as the string “o”, and “(al)” as the string “al”. The interpreted strings are then concatenated in the original order.
Given the string command, return the Goal Parser’s interpretation of command.
Example 1:
Input: command = “G()(al)”
Output: “Goal”
Explanation: The Goal Parser interprets the command as follows:
G -> G
() -> o
(al) -> al
The final concatenated result is “Goal”.
Example 2:
Input: command = “G()()()()(al)”
Output: “Gooooal”
Example 3:
Input: command = “(al)G(al)()()G”
Output: “alGalooG”
Constraints:
1 <= command.length <= 100
command consists of "G", "()", and/or "(al)" in some order.
Complexity Analysis
- Time Complexity: O(n)
- Space Complexity: O(n)
1678. Goal Parser Interpretation LeetCode Solution in C++
class Solution {
public:
string interpret(string command) {
string ans;
for (int i = 0; i < command.size();)
if (command[i] == 'G') {
ans += "G";
++i;
} else if (command[i + 1] == ')') {
ans += "o";
i += 2;
} else {
ans += "al";
i += 4;
}
return ans;
}
};
/* code provided by PROGIEZ */
1678. Goal Parser Interpretation LeetCode Solution in Java
class Solution {
public String interpret(String command) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < command.length();)
if (command.charAt(i) == 'G') {
sb.append("G");
++i;
} else if (command.charAt(i + 1) == ')') {
sb.append("o");
i += 2;
} else {
sb.append("al");
i += 4;
}
return sb.toString();
}
}
// code provided by PROGIEZ
1678. Goal Parser Interpretation LeetCode Solution in Python
class Solution:
def interpret(self, command: str) -> str:
return command.replace('()', 'o').replace('(al)', 'al')
# code by PROGIEZ
Additional Resources
- Explore all LeetCode problem solutions at Progiez here
- Explore all problems on LeetCode website here
Happy Coding! Keep following PROGIEZ for more updates and solutions.