
문제해석
- 이런 형태와 같은 아이디를 추출해주세요. 라는 문제이다.
- RegExp 형태를 사용해야된다는것은 알았지만. 사실 그동안 잘 못해서 다시한번 어떻게 하는지 답지를 참고해서 풀었다.


나의 코드
function solution(user_id, banned_id) {
// 1. 매칭하는 regExp 만들기
// 그에 따라 match 되는거 + bfs 만들어서 중복 안되는거 만들기
let new_set= new Set();
let visited= Array(user_id.length).fill(0);
// 방문할수 있는 array
let match_Reg = banned_id.map(el => new RegExp(`^${el.replaceAll("*", ".")}$`));
// console.log(match_Reg[0].test('frodo'));
const dfs=function(ii=0, arr=[]){
//
if(ii==banned_id.length){
// 끝가지갔다면
new_set.add(arr.sort().join(','));
return;
}
for(var i=0; i<user_id.length; i++){
if(match_Reg[ii].test(user_id[i]) && visited[i]==0){
// 맞는게 있다면.
visited[i]=1;
dfs(ii+1, [...arr ,user_id[i]])
visited[i]=0;
}
}
}
dfs();
return new_set.size;
}