Programmers : ์†Œ์ˆ˜ ์ฐพ๊ธฐ

์ตœ๋Œ€ 1 ๋ถ„ ์†Œ์š”

๐Ÿ”’ Programmers : ์†Œ์ˆ˜ ์ฐพ๊ธฐ


์ˆœ์—ด๊ณผ ์กฐํ•ฉ ๋ฌธ์ œ์ด๋‹ค.

permutations๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์ˆ˜๋น„๊ฒŒ ํ’€๋ฆฌ๋Š” ๋ฌธ์ œ์ด๊ณ , ์†Œ์ˆ˜๋ฅผ ์ฐพ๋Š” ๋กœ์ง์ด ํ•„์š”ํ•˜๋‹ค.


๐Ÿ”‘ ์ฝ”๋“œ

from itertools import permutations
import math
def isPrime(n):
    for i in range(2,int(math.sqrt(n))+1):
        if n%i == 0:
            return False
    return True

def solution(numbers):
    answer = set()
    for i in range(1,len(numbers)+1):
        for tup in permutations(numbers, i):
            strNum = ''.join(tup)
            num = int(strNum)
            if num > 1 and isPrime(num):
                answer.add(num)

    return len(answer)

1์ž๋ฆฌ ์ˆ˜ ์ˆœ์—ด, 2์ž๋ฆฌ ์ˆ˜ ์ˆœ์—ด, โ€ฆ , len(numbers)์ž๋ฆฌ ์ˆ˜ ์ˆœ์—ด์„ ์กฐํ•ฉํ•˜์—ฌ ์†Œ์ˆ˜์˜ ๊ฐฏ์ˆ˜๋ฅผ ์ฐพ์œผ๋ฉด ๋œ๋‹ค.

์ฒซ ๋ฒˆ์งธ ๋ฐ˜๋ณต๋ฌธ์€ i ์ž๋ฆฌ ์ˆ˜ ์ˆœ์—ด์–ป๋Š” ๊ฒƒ์ด๊ณ 

๋‘ ๋ฒˆ์งธ ๋ฐ˜๋ณต๋ฌธ์€ ์–ป์€ ์ˆœ์—ด์—์„œ ์†Œ์ˆ˜๋ฅผ ์ฐพ๋Š” ๊ฒƒ์ด๋‹ค.

answer์„ set๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ์†Œ์ˆ˜ ์ค‘๋ณต์„ ์—†์• ๊ณ  ๊ฐฏ์ˆ˜๋ฅผ returnํ•œ๋‹ค.

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ:

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ