[개발]programmers/Python3

Lv.3_불량사용자

dowon 2024. 7. 11. 21:01

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

from itertools import permutations

def solution(user_id, banned_id):
    
    def check(user, ban):
        
        if len(user) == len(ban):
            for i, j in zip(user, ban):
                if j == '*':
                    continue
                elif i != j:
                    return False
        else:
            return False
        
        return True
    
    
    answer = []
    for per in permutations(user_id, len(banned_id)):
        
        flag = True
        
        for i in range(len(per)):
            if not check(per[i], banned_id[i]):
                flag = False
                
        if flag:
            if set(per) not in answer:
                answer.append(set(per))
    
    return len(answer)