๐ ํ๋ก๊ทธ๋๋จธ์ค ๋ถ๋ ์ฌ์ฉ์
- ์ด๊ธฐ ์ฝ๋
def solution(user_id, banned_id): temp = [[] for _ in range(len(user_id))] print(temp) cnt = 0 for banned in banned_id: banned_len = len(banned) for user in user_id: if banned_len == len(user): for i in range(len(user)): if banned[i] == '*' or banned[i] == user[i]: continue else: break else: user_index = user_id.index(user) temp[user_index].append(cnt) cnt += 1 print(temp) return 0
์ฒ์์ ์์ ๊ฐ์ด ์์ฑํ์ฌ ์๋์ ๊ฐ์ด ์ถ๋ ฅ์ด ๋์ค๊ฒ ํ์๋ค.
์ผ๋จ user ์ ๋งํผ list๋ฅผ ๋ง๋ค์ด ๊ทธ ์์ banned ์ฌ์ฉ์ ์ธ๋ฑ์ค๋ฅผ ์ ์ฅํ๋ ์์ผ๋ก ์ถ๋ ฅ์ ํด๋ณด์๋ค.
ํ์ง๋ง ํด๋น ๊ฒฐ๊ณผ๊ฐ์์๋ ๋ฌธ์ ๊ฐ ์๊ตฌํ๋ result ๊ฐ์ ์ฐพ๊ธฐ ์ํด ์์ด์ ์ฌ์ฉํด ์ํ ๋ฌธ์ ํ๋ฏ ํ์ด์ผ ํด์ ํฌ๊ธฐํ์๋ค.
๐ ๋ค์ ํ์ด
def compare_id(id1: str, id2: str) -> bool: if len(id1) != len(id2): return False for i in range(len(id1)): if id2[i] == '*' or id1[i] == id2[i]: continue else: return False return True def solution(user_id, banned_id): result = set() temp = [] def store(id1: str, id2: str, idx: int): if idx == len(id2): test = sorted(temp) result.add(tuple(test)) return for i in range(len(id1)): if id1[i] in temp: continue if compare_id(id1[i], id2[idx]): temp.append(id1[i]) store(id1, id2, idx + 1) temp.pop() return idx = 0 store(user_id, banned_id, idx) return len(result)
- ์๊ณ ๋ฆฌ์ฆ ๋์๋ฆฌ? ๋ผ๊ณ ํด์ผํ๋ ์ฃผ๋ง๋ง๋ค ์งํ์ค์ธ ์ฃผ๋ง ์๊ณ ๋ฆฌ์ฆ ์ค์ ํ์๋ ๋ฌธ์ ์ธ๋ฐ ๋๋ ์ด๊ธฐ ์ฝ๋์ ๊ฐ์ด ์ ๊ทผํ๋ค๊ฐ ๋ชป ํ์๋ค.
์ฌ์ค brute force ๋ฌธ์ ๋ผ ์์ด๋์ด๋ ํฌ๊ฒ ์ค์ํ์ง ์์ง๋ง ์น๊ตฌ์ค ํ๋ช ์ ์์ด๋ก, ํ๋ช ์ brute force ๋ฐฉ์์ผ๋ก ์งํํ์ฌ ์ด ๋ฌธ์ ์์ ๊น๋ค๋ก์ ๋ ์ค๋ณต ์ฒ๋ฆฌ, ์์ด๋ ๊ฒน์นฉ๋ฑ์ ์ฒ๋ฆฌ๋ฅผ ๋ฆฌ์คํธ๋ฅผ ํ๋ ๋ง๋ค์ด ํด๋น ์์ด๋๊ฐ ์ฐ์ด๋ ์๋ฆฌ๋ฅผ 1๋ก ๋ฐ๊พผ ํ 2์ง์๋ก set ๋ณ์์ ์ ์ฅํ์ฌ ์ค๋ณต ์ฒ๋ฆฌ๋ฅผ ํด์ค๊ฒ์ด ์ธ์์ ์ด์ฌ 2์ง์ ๋ฐฉ์๋ง ๋นผ๊ณ ์ผ๋จ ๊ตฌํ์ ํด ๋ณด์๋ค.
๊น๋ํ ์ฒ๋ฆฌ ๋ฐฉ์์ 2์ง์ ์ ์ฅ ๋ฐฉ์์ด ๊ฐ์ฅ ์ข์ ๊ฒ ๊ฐ๊ณ ,
python ์ค๋ฌ์ด ๋ฐฉ์์ ์์ด ๋ฐฉ์์ผ๋ก ํธ๋ ๊ฒ ๊ฐ๋ค.
์ผ๋จ ์ ๋ฐฉ์์ ํ๋ํ๋ ๋น๊ตํ๋ ์ผ๋ฐ์ ์ brute force ๋ฐฉ์์ผ๋ก ํ์ด๋ณธ ๋ฌธ์ ์ด๋ค.
๐ ์์ฆ ๋ค๋ฅธ ์๊ฐ์ ๋ง์ด ํ๋์ง ์์ด๋ ๊ฒ ๋ฌธ์ ๊ฐ ์ ์ํ๋ฆฌ๋์ง ๋ชจ๋ฅด๊ฒ ๋ค ใ ์ง์คํด์ผ๊ฒ ๋ค ใ ใ ใ ใ ใ
๐ ๋ถํธ์บ ํ์์ ์ฅ๊ณ ๋ฅผ ๋ค๋ฃจ๊ณ ํ์ฌ ๋จธ์ ๋ฌ๋์ ๋ฐฐ์ฐ๊ณ ์๋๋ฐ ์ฌ๋ฏธ๋ ์์ง๋ง ์์ง ๋ง์ด ๋ฐฐ์ฐ๊ณ ์ต๋ํ๊ฒ์ด ์์ด ์ ๋ฆฌ๋ ํ์ง ๋ชปํ์ง๋ง ์ฌ์ฌ ์ ๋๋ก ์ ๋ฆฌํด์ผ๊ฒ ๋ค. ์ผ๋จ ์๊ณ ๋ฆฌ์ฆ 3๋จ๊ณ๋ฅผ ๋ฌด๋ํ๊ฒ ํธ๋๊ฒ ์ฒซ ๋ฒ์งธ ๋ชฉํ!