Size: a a a

2020 April 04

DE

Denis Efremov in JS Liberty
Александр Пелипас
Добрый вечер всем, ситуация такая - застрял на одном задании в кодворз
https://www.codewars.com/kata/5cb9f138b5c9080019683864
Само задание решил, но вот с оптимизацией кода беда.
Вот мое решение https://codepen.io/alexandr-pelipas/pen/VwLOBaV
Может подскажет кто, что я делаю не так?
У тебя внутри форыча условие
источник

DE

Denis Efremov in JS Liberty
Первая его часть мапит s
источник

АП

Александр Пелипас... in JS Liberty
угу, а его можно как-то обойти?
источник

DE

Denis Efremov in JS Liberty
вторая пушит в результат
источник

KS

Kutman Soronbaev in JS Liberty
Denis Efremov
вторая пушит в результат
1кью решаешь в кодварсе?
источник

DE

Denis Efremov in JS Liberty
Александр Пелипас
угу, а его можно как-то обойти?
А s будет юзаться только на других итерациях?
источник

DE

Denis Efremov in JS Liberty
Что такое  +!+el ?
источник

DE

Denis Efremov in JS Liberty
А понял
источник

АП

Александр Пелипас... in JS Liberty
Denis Efremov
Что такое  +!+el ?
ну тут да, намудрил
источник

АП

Александр Пелипас... in JS Liberty
Denis Efremov
А s будет юзаться только на других итерациях?
а тут не понял вопроса
источник

DE

Denis Efremov in JS Liberty
Александр Пелипас
ну тут да, намудрил
Во первых надо переменные нормально называть
источник

DE

Denis Efremov in JS Liberty
А что значат I и Q?
источник

АП

Александр Пелипас... in JS Liberty
I - это инверсия бинарного числа, с какой позиции по какую
источник

АП

Александр Пелипас... in JS Liberty
Q - это ответ из какой позиции надо вывести бит
источник

АП

Александр Пелипас... in JS Liberty
Kutman Soronbaev
1кью решаешь в кодварсе?
не, 5-й кью
источник

DE

Denis Efremov in JS Liberty
(parseInt('0011001100', 2) ^ 0x3ff).toString(2)
источник

DE

Denis Efremov in JS Liberty
['I', 1, 10]
источник

DE

Denis Efremov in JS Liberty
'0011001100'

1 - это первый бит или второй?
источник

DE

Denis Efremov in JS Liberty
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

Syntax Highlight Bot in JS Liberty
Denis Efremov
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
}
источник