ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋ฌธ์ œ :

 

 

์ฝ”๋“œ: 

from itertools import permutations

# ์†Œ์ˆ˜ ํŒ๋ณ„ ํ•จ์ˆ˜
def is_prime_num(n):
    if n <= 1:
        return False
    
    for i in range(2, int(n**(1/2))+1):
        if n % i == 0:
            return False
    return True
    
def solution(numbers):
    num = list(numbers)
    allnum = set()
    
    # ์ˆœ์—ด๊ณผ set์‚ฌ์šฉํ•ด์„œ ๋ชจ๋“  ์กฐํ•ฉ ๊ตฌํ•˜๊ธฐ
    for i in range(1, len(numbers)+1):
        permutationList = permutations(num, i)
        for per in permutationList:
            allnum.add(int(''.join(per)))
    
    cnt = 0
    
    # ์†Œ์ˆ˜ ํŒ๋ณ„
    for n in allnum:
        if is_prime_num(n):
            cnt+=1
            
    return cnt

 

 

ํ’€์ด : 

1. ์†Œ์ˆ˜๋ฅผ ๊ตฌํ• ๋•Œ๋Š” ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฑ„ ์‚ฌ์šฉํ•ด์„œ ๋ฃจํŠธ+1 ๊นŒ์ง€๋งŒ ์†Œ์ˆ˜์ธ์ง€ ํŒ๋ณ„ํ•˜๋ฉด ๋œ๋‹ค.

2. permutations(iterable, r)์„ ์‚ฌ์šฉํ•˜๋ฉด iterable์˜ ์š”์†Œ๋“ค์˜ ๊ธธ์ด r์ธ ์ˆœ์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ด ๋ฌธ์ œ์—์„œ๋Š” ๋ชจ๋“  ์กฐํ•ฉ์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด for๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธธ์ด๊ฐ€ i๋กœ ๋ฐ”๋€Œ๋„๋ก ํ–ˆ๋‹ค.

3. ์ค‘๋ณต ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด set์— ๋„ฃ๊ธฐ!

4. ''.join ํ™œ์šฉ

 

๋ฐ˜์‘ํ˜•