function getFreeUrinals(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) let c = b.reduce((acc, val, i, arr) => { return val === 4 && arr[i-1] == 1 && arr[i-2] == 3 ? acc : val === 4 && (arr[i-1]===1 || arr[i-1]===2) ? acc+1 : val === 4 && arr[i-1] === undefined ? acc+1 : val === 1 ? acc+1 : acc },0); return c; }