- Date : 2020.08.29(토)
- Time : 60분 그 이상..
- 풀이 실패 ..
for i in range(len(banned_id)):
count = 0
banned_id[i] = re.compile("^"+banned_id[i].replace("*","([0-9]|[a-z])")+"$")
for j in user_id:
if banned_id[i].match(j):
count += 1
# 불량 사용자 닉네임에서 *를 문자나 숫자 중 한 글자만 들어가도 된다는 정규표현식으로 만들어서 변경해준다
# 그리고 그 정규표현식과 사용자 닉네임과 match 시킨다
# match 될 수 있는 갯수를 배열에 넣어준다.
- 경우의 수를 만들 때, 첫번째 열을 기준으로는 잘 만들어주지만.. 그 다음 조합으로 못넘어간다..
- 계속 트리 구조로 뿌리를 뻗어가야한다.
- 결론 : 백트래킹 하는 구조로 만들어야한다.
# 경우의 수를 조합한다.
for each_id in candidates[idx] :
# 중복이 안된다면
if each_id not in arr:
# 조합에 저장해준다.
arr.add(each_id)
dfs_check(idx+1,candidates,arr,length)
# 다시 재귀함수를 통해 백트래킹 구현
arr.remove(each_id)
: 불량사용자_해답.py