코딩 테스트/문제 풀기

[프로그래머스] 불량 사용자

hazel_ 2021. 5. 8. 13:19

programmers.co.kr/learn/courses/30/lessons/64064

 

코딩테스트 연습 - 불량 사용자

개발팀 내에서 이벤트 개발을 담당하고 있는 "무지"는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량

programmers.co.kr

 

from itertools import permutations

def isMatch(user_set, banned_set):
    for i in range(len(user_set)):
        if len(user_set[i])!= len(banned_set[i]):
            return False
        else:
            for j in range(len(user_set[i])):
                if banned_set[i][j]=='*':
                    continue
                elif user_set[i][j] != banned_set[i][j]:
                    return False
    return True

def solution(user_id, banned_id):
    ans=[]
    p_u=list(permutations(user_id, len(banned_id)))

    for user_set in p_u:
        if isMatch(user_set, banned_id):
            user_set=set(user_set)
            if user_set not in ans:
                ans.append(user_set)

    return len(ans)