[코딩테스트][프로그래머스]🔥 "불량 사용자" 문제: Python과 Java로 완벽 해결하기! 🔥

김상욱·2024년 7월 23일
0

🔗 문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/64064

🕒 Python 풀이시간: 60분

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

🕒 Java 풀이시간: 60분

코드를 입력하세요

이렇게 Python과 Java로 프로그래머스의 "불량 사용자" 문제를 해결해보았습니다. 코드와 개념 설명을 참고하여 문제를 해결하는 데 도움이 되셨길 바랍니다! 😊

0개의 댓글