DE
https://www.codewars.com/kata/5cb9f138b5c9080019683864
Само задание решил, но вот с оптимизацией кода беда.
Вот мое решение https://codepen.io/alexandr-pelipas/pen/VwLOBaV
Может подскажет кто, что я делаю не так?
Size: a a a
DE
DE
АП
DE
KS
DE
DE
+!+el
?DE
АП
+!+el
?АП
DE
DE
АП
АП
АП
DE
(parseInt('0011001100', 2) ^ 0x3ff).toString(2)
DE
DE
DE
function binarySimulation(s, q) {
const result = []
for (const val of q) {
const [mode, fr, to = s.length] = val
switch (mode) {
case 'I':
const re = new RegExp(`^([01]{${fr - 1}})([01]{${to - fr + 1}})([01]{${s.length - to}})$`)
const [, a, b, c] = s.match(re)
s = `${a}${b.replace(/[01]/g, (n) => 1 - n)}${c}`
break
case 'Q':
result.push(s[fr - 1])
break
}
}
return result
}
S
function binarySimulation(s, q) {
const result = []
for (const val of q) {
const [mode, fr, to = s.length] = val
switch (mode) {
case 'I':
const re = new RegExp(`^([01]{${fr - 1}})([01]{${to - fr + 1}})([01]{${s.length - to}})$`)
const [, a, b, c] = s.match(re)
s = `${a}${b.replace(/[01]/g, (n) => 1 - n)}${c}`
break
case 'Q':
result.push(s[fr - 1])
break
}
}
return result
}