2 minute read

There is a programming language with only four operations and one variable X:

++X and X++ increments the value of the variable X by 1. –X and X– decrements the value of the variable X by 1. Initially, the value of X is 0.

Given an array of strings operations containing a list of operations, return the final value of X after performing all the operations.

Example 1:

Input: operations = [”–X”,”X++”,”X++”] Output: 1 Explanation: The operations are performed as follows: Initially, X = 0. –X: X is decremented by 1, X = 0 - 1 = -1. X++: X is incremented by 1, X = -1 + 1 = 0. X++: X is incremented by 1, X = 0 + 1 = 1. Example 2:

Input: operations = [”++X”,”++X”,”X++”] Output: 3 Explanation: The operations are performed as follows: Initially, X = 0. ++X: X is incremented by 1, X = 0 + 1 = 1. ++X: X is incremented by 1, X = 1 + 1 = 2. X++: X is incremented by 1, X = 2 + 1 = 3. Example 3:

Input: operations = [“X++”,”++X”,”–X”,”X–”] Output: 0 Explanation: The operations are performed as follows: Initially, X = 0. X++: X is incremented by 1, X = 0 + 1 = 1. ++X: X is incremented by 1, X = 1 + 1 = 2. –X: X is decremented by 1, X = 2 - 1 = 1. X–: X is decremented by 1, X = 1 - 1 = 0.

/**
 * @param {string[]} operations
 * @return {number}
 */
var finalValueAfterOperations = function (operations) {
  let result = 0;

  for (let i = 0; i < operations.length; i++) {
    if (operations[i] === "--X" || operations[i] === "X--") {
      result--;
    } else {
      result++;
    }
  }

  return result;
};

let result = 0;: Initialize a variable result to 0. This variable will store the final value after performing all the operations.

for(let i = 0; i < operations.length; i++) {: Start a loop that iterates over the elements of the operations array.

if(operations[i] === "--X" || operations[i] === "X--") {: Check if the current element is either "--X" or "X--".

result--;: If the current element is "--X" or "X--", decrement the result variable by 1.

} else {: If the current element is not "--X" or "X--".

result++;: Increment the result variable by 1.

return result;: Return the final value stored in the result variable after the loop finishes.

Leave a comment