๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • What would life be If we had no courage to attemp anything?
Problem Solving/PROGRAMMERS

[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์†Œ์ˆ˜์ฐพ๊ธฐ

by DevIseo 2022. 11. 6.

[python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์†Œ์ˆ˜์ฐพ๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/42839

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

from itertools import permutations

#์†Œ์ˆ˜ ํŒ๋ณ„
def isPrime(n):
    if n<2:
        return False
    
    for i in range(2,n//2+1):
        if n%i ==0:
            return False
    return True

def solution(numbers):
    answer = 0
    arr = []
    results = ()
    
    for i in range(1, len(numbers)+1):
        #append๋Š” x 1๊ฐœ๋ฅผ ๊ทธ๋Œ€๋กœ ๋„ฃ์Œ
        #extend๋Š” ๊ฐ€์žฅ ๋ฐ”๊นฅ์ชฝ iterable์˜ ๋ชจ๋“  ํ•ญ๋ชฉ์„ ๋„ฃ์Œ
				#์ˆœ์—ด
        arr.extend(permutations(numbers, i))
				#์ค‘๋ณต ์ œ๊ฑฐ
        results = set(int(''.join(i)) for i in arr)
    results = list(results)
		
	#์†Œ์ˆ˜ ํŒ๋ณ„
    for result in results:
        if isPrime(result):
            answer+=1
   
    return answer

 

 

 

๋Œ“๊ธ€