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

  1. Problem Statement
  2. Complexity Analysis
  3. Goal Parser Interpretation solution in C++
  4. Goal Parser Interpretation solution in Java
  5. Goal Parser Interpretation solution in Python
  6. Additional Resources
1678. Goal Parser Interpretation LeetCode Solution image

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

Happy Coding! Keep following PROGIEZ for more updates and solutions.