All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g1601_1700.s1678_goal_parser_interpretation.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
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