let pre =
new
Array(100).fill(
false
);
let s =
new
Array(110);
let w, letter;
const verify = (position, index) => {
let l = w.length;
let k = s[index].length;
if
(position + k > l) {
return
;
}
let same =
true
;
for
(let i = position; i < position + k; i++) {
let ch = w[i];
let ch1 = s[index][i - position];
let n, n1;
if
(ch >=
'a'
&& ch <=
'z'
) {
n = ch.charCodeAt() -
'a'
.charCodeAt();
}
else
{
n = ch.charCodeAt() -
'A'
.charCodeAt();
}
if
(ch1 >=
'a'
&& ch1 <=
'z'
) {
n1 = ch1.charCodeAt() -
'a'
.charCodeAt();
}
else
{
n1 = ch1.charCodeAt() -
'A'
.charCodeAt();
}
if
(n !== n1) {
same =
false
;
}
}
if
(same ===
true
) {
for
(let i = position; i < position + k; i++) {
pre[i] =
true
;
}
return
;
}
};
const solve = () => {
let l = w.length;
let p = letter.charCodeAt() -
'a'
.charCodeAt();
for
(let i = 0; i < l; i++) {
for
(let j = 0; j < n; j++) {
verify(i, j);
}
}
for
(let i = 0; i < l; i++) {
if
(pre[i] ===
true
) {
if
(w[i] === letter) {
w[i] = letter ===
'a'
?
'b'
:
'a'
;
}
else
if
(w[i] === String.fromCharCode(
'A'
.charCodeAt() + p)) {
w[i] = letter ===
'a'
?
'B'
:
'A'
;
}
else
if
(w[i] >=
'a'
&& w[i] <=
'z'
) {
w[i] = letter;
}
else
if
(w[i] >=
'A'
&& w[i] <=
'Z'
) {
w[i] = String.fromCharCode(
'A'
.charCodeAt() + p);
}
}
}
console.log(w.join(
''
));
};
let n = 3;
s[0] =
"etr"
;
s[1] =
"ed"
;
s[2] =
"ied"
;
w =
"PEtrUnited"
.split(
''
);
letter =
'd'
;
solve()