https://school.programmers.co.kr/learn/courses/30/lessons/64064
import re
from itertools import permutations
def solution(user_id, banned_id):
answer = 0
answer_set=set()
banned_id_re=[]
for bi in banned_id:
banned_id_re.append("\\b"+bi.replace("*",".")+"\\b")
bi_dict=dict()
for bir in banned_id_re:
p=re.compile(bir)
cnt=0
bi_dict[bir]=[]
for ui in user_id:
if p.match(ui):
bi_dict[bir].append(ui)
permu_list=list(permutations(user_id,len(banned_id)))
for permu in permu_list:
tf=True
visited=[False]*len(banned_id_re)
for i in range(len(permu)):
one=permu[i]
find=False
for j in range(len(banned_id_re)):
if not visited[j] and one in bi_dict[banned_id_re[j]]:
find=True
visited[j]=True
break
if not find:
tf=False
break
if tf:
permu=list(permu)
permu.sort()
answer_set.add(tuple(permu))
answer=len(answer_set)
return answer
코드를 입력하세요
이렇게 Python과 Java로 프로그래머스의 "불량 사용자" 문제를 해결해보았습니다. 코드와 개념 설명을 참고하여 문제를 해결하는 데 도움이 되셨길 바랍니다! 😊