g1601_1700.s1678_goal_parser_interpretation.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g1601_1700.s1678_goal_parser_interpretation;
// #Easy #String #Programming_Skills_I_Day_8_String
// #2022_04_21_Time_0_ms_(100.00%)_Space_40.4_MB_(87.95%)
/**
* 1678 - Goal Parser Interpretation\.
*
* Easy
*
* 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.
**/
public class Solution {
public String interpret(String command) {
StringBuilder sb = new StringBuilder();
int i = 0;
while (i < command.length()) {
if (command.charAt(i) == '(' && command.charAt(i + 1) == ')') {
sb.append("o");
i++;
} else if ((command.charAt(i) != '(' || command.charAt(i + 1) == ')')
&& command.charAt(i) != ')') {
sb.append(command.charAt(i));
}
i++;
}
return sb.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy