DEV Community

Discussion on: Daily Challenge #151 - Reverse Parentheses

Collapse
 
centanomics profile image
Cent

Here is my solution in Javascript. I used codepen so I can test the test values easily. I'll link both that, and the code in js (without the console logs i used for debugging ;) ).

Codepen

const reverseText = () => {

  let text = document.querySelector("#text").value;
  let toBeReversed = text;

  let index = toBeReversed.split("(").length - 1;


  let start = 0;
  let end = toBeReversed.length;
  for(let i = 0; i < index; i++) {
    let openPar = toBeReversed.indexOf("(", start);
    let closingPar = toBeReversed.lastIndexOf(")", end);
    let reversed = toBeReversed.substr(openPar + 1, closingPar - openPar - 1);
    let result = reversed.split("").reverse();
    for(let j = 0; j < result.length; j++) {
      if(result[j] === "(") result[j] = ")";

      else if(result[j] === ")") result[j] = "(";
    }
    let final = result.join("");

    toBeReversed = toBeReversed.replace(reversed, final);

    start = openPar + 1;
    end = closingPar - 1;
  }


  index = toBeReversed;


  document.querySelector(".reversed").innerHTML = toBeReversed;
}