문제 링크
해결 방법
function solution(s, skip, index) {
const alphabetSet = new Set('abcdefghijklmnopqrstuvwxyz');
skip.split("").map((e) => alphabetSet.delete(e));
const alphabetExceptSkipThird = Array.from(alphabetSet).join("").repeat(3);
return s.split("")
.map((e)=>alphabetExceptSkipThird[alphabetExceptSkipThird.indexOf(e)+index])
.join("");
}
- 모든 알파벳이 포함된 집합을 만들고 skip에 해당하는 알파벳을 제거합니다.
- skip의 길이가 1~10이고 index의 값이 1~20이므로 1에서 얻은 Set을 Array로 변환시킨 뒤 세 번 반복시켜줍니다.
- index를 skip을 제외한 문자의 개수로 나눈 나머지를 이용하여 풀이하는 방법도 있습니다.
- alphabetExceptSkipThird에서 s의 각 문자의 자리에서 index 만큼 더한 자리의 문자를 반환하고 이를 다시 문자열로 만들어줍니다.