items = () => [...document.querySelectorAll('.items div.item')]
show = (elt) => elt.style.display=''
hide = (elt) => elt.style.display='none'
search = (text) => (items().forEach(show), items().filter(e => !e.innerText.toLowerCase().includes(text.toLowerCase())).forEach(hide))
inputElt = document.createElement('input'); inputElt.type='text';
document.querySelector('.sidebar').prepend(inputElt)
function handle(e) { search(e.target.value) }
inputElt.addEventListener('input', handle)
What was your strategy like? How much math background do you have?