JSFiddle - React, Tailwind, and code Playground

by rexonms

JavaScript

/*
Character recognition software is widely used to digitise printed texts. Thus the texts can be edited, searched and stored on a computer.
When documents (especially pretty old ones written with a typewriter), are digitised character recognition softwares often make mistakes.
Your task is correct the errors in the digitised text. You only have to handle the following mistakes:
S is misinterpreted as 5
O is misinterpreted as 0
I is misinterpreted as 1
*/
//////////////////////////////////////////////////////
 
const ln = 'L0ND0N'
const sg = '51NGAP0RE'
 
const numberToLetterMap = {
    "5": "S",
    "0": "O",
    "1": "I"
}
 
function replaceNumberWithLetter(str){
  return str.split('').map(letter => {
     return numberToLetterMap[letter] !== undefined ? letter = numberToLetterMap[letter] : letter
  }).join('')
}
 
console.log(replaceNumberWithLetter(ln))
console.log(replaceNumberWithLetter(sg))