[ํ๋ก๊ทธ๋๋จธ์ค] ์์ ์ฐพ๊ธฐ / ํ์ด์ฌ / python
๐กsolutions )
๐ฌ permutations ํจ์๋ก ์ฃผ์ด์ง numbers๋ก ๋ง๋ค ์ ์๋ ์ซ์๋ค์ ๋ชจ๋ ๋ง๋ ํ -> permu_res๋ผ๋ set ์๋ฃํ์ ๋ด์ ์ซ์๋ค์ ์ค๋ณต์ ์ ๊ฑฐํด์ค๋ค.
๐ฌ decimal()์ด๋ผ๋ ์์ ์ฐพ๋ ํจ์๋ฅผ ๊ตฌํํ์ฌ ๋ชจ๋ ์ซ์์ ๋ํด์ ์์์ธ์ง ์๋์ง ํ๋ณํ์ฌ answer ๊ตฌํ๊ธฐ
๐จ๐ปcode )
from itertools import permutations as permu
def decimal(num):
if num == 0 or num == 1:
return False
for i in range(2, num):
if num % i == 0:
return False
else:
return True
def solution(numbers):
answer = 0
numbers = list(numbers)
permu_res = set()
for i in range(1, len(numbers)+1):
for k in set(permu(numbers, i)):
tmp = int(''.join(map(str, k)))
permu_res.add(tmp)
for num in permu_res:
if decimal(num):
answer += 1
return answer
๐description )
๋ฌธ์ ์ค๋ช
ํ์๋ฆฌ ์ซ์๊ฐ ์ ํ ์ข ์ด ์กฐ๊ฐ์ด ํฉ์ด์ ธ์์ต๋๋ค. ํฉ์ด์ง ์ข ์ด ์กฐ๊ฐ์ ๋ถ์ฌ ์์๋ฅผ ๋ช ๊ฐ ๋ง๋ค ์ ์๋์ง ์์๋ด๋ ค ํฉ๋๋ค.
๊ฐ ์ข ์ด ์กฐ๊ฐ์ ์ ํ ์ซ์๊ฐ ์ ํ ๋ฌธ์์ด numbers๊ฐ ์ฃผ์ด์ก์ ๋, ์ข ์ด ์กฐ๊ฐ์ผ๋ก ๋ง๋ค ์ ์๋ ์์๊ฐ ๋ช ๊ฐ์ธ์ง return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- numbers๋ ๊ธธ์ด 1 ์ด์ 7 ์ดํ์ธ ๋ฌธ์์ด์ ๋๋ค.
- numbers๋ 0~9๊น์ง ์ซ์๋ง์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- "013"์ 0, 1, 3 ์ซ์๊ฐ ์ ํ ์ข ์ด ์กฐ๊ฐ์ด ํฉ์ด์ ธ์๋ค๋ ์๋ฏธ์ ๋๋ค.
์ ์ถ๋ ฅ ์
numbersreturn
"17" | 3 |
"011" | 2 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์์ #1
[1, 7]์ผ๋ก๋ ์์ [7, 17, 71]๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
์์ #2
[0, 1, 1]์ผ๋ก๋ ์์ [11, 101]๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
- 11๊ณผ 011์ ๊ฐ์ ์ซ์๋ก ์ทจ๊ธํฉ๋๋ค.