155652
Link
https://school.programmers.co.kr/learn/courses/30/lessons/155652 (opens in a new tab)
Answer
JavaScript
function solution(s, skip, index) {
const alphabet = [
"a",
"b",
"c",
"d",
"e",
"f",
"g",
"h",
"i",
"j",
"k",
"l",
"m",
"n",
"o",
"p",
"q",
"r",
"s",
"t",
"u",
"v",
"w",
"x",
"y",
"z",
].filter((c) => !skip.includes(c));
return s
.split("")
.map((c) => alphabet[(alphabet.indexOf(c) + index) % alphabet.length])
.join("");
}
const solution = (s, skip, index) => {
let ans = "";
const matched = "abcdefghijklmnopqrstuvwxyz".match(
new RegExp(`[^${skip}]`, "g")
);
for (const c of s) {
const newIdx = matched.indexOf(c) + index;
ans += matched[newIdx % matched.length];
}
return ans;
};