function test(input) { console.log("WORKED!"); return input+1; } function getFreeUrinals(s){ console.log(s) if (/11/.test(s)) return -1; let a = s.replace(/.{2}/g, e => e + " ").trim().split(" "); let b = a.map(e => { return e==="00" ? 1 : e==="10" ? 2 : e==="01" ? 3 : e==="0" ? 4 : 5; }); console.log("b: ", b) console.log("start reduce") let c = b.reduce((acc, val, i, arr) => { console.log("acc: ", acc); console.log("val: ", val); console.log("i: ", i); console.log("arr[i-1]: ", arr[i-1]); console.log("arr[i-2]: ", arr[i-2]); if (val === 4) { console.log(4) if (arr[i-1] == 1) { console.log(1) if (arr[i-2] == 3) { console.log(3) return acc+1 } } } return val === 4 && (arr[i-1]===1 || arr[i-1]===2) ? acc+1 : val === 4 && arr[i-1] === undefined ? acc+1 : val === 4 && arr[i-1] == 1 && arr[i-2] == 3 ? test(acc) : val === 1 ? acc+1 : acc },0); return c; }