๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์•Œ๊ณ ๋ฆฌ์ฆ˜

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/python] ๋ถˆ๋Ÿ‰ ์‚ฌ์šฉ์ž

  • ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  user id์˜ ์ˆœ์—ด banned_id ์™€ ๋น„๊ต
  • ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด list๋ฅผ ์ •๋ ฌํ•ด์„œ set์— ์ถ”๊ฐ€
from itertools import permutations

def check(u, b):
    for i in range(len(b)):
        if len(u[i]) != len (b[i]):
            return False

        for j in range(len(b[i])):
            if b[i][j] == '*':
                continue
            elif u[i][j] != b[i][j]:
                return False
    return True

def solution(user_id, banned_id):
    user_per_set = set([])

    user_per = list(permutations(user_id, len(banned_id)))

    for u in user_per:
        if not check(u, banned_id):
            continue
        else:
            u = list(u)
            u.sort()
            user_per_set.add(tuple(u))

    return len(user_per_set)
๋ฐ˜์‘ํ˜•