[Programmers] μμ μ°ΎκΈ°
Updated:
μμ μ°ΎκΈ°
μμΒ μ°ΎκΈ° λ₯Ό ν΄λ¦νλ©΄ λ°λ‘ μ΄λνλ€.
μ΄ λ¬Έμ λ μ£Όμ΄μ§ μ«μ μΉ΄λλ₯Ό ν΅ν΄ λ§λ€ μ μλ λͺ¨λ μ«μμ κ²½μ°λ₯Ό ꡬνλκ² μ£Όμ λ¬Έμ μλ€.
λ§μ½ β017β μ΄ μ£Όμ΄μ§λ€λ©΄ λ§λ€ μ μλ μλ 1, 7, 10, 17, 70, 71, 107, 170, 701, 710 μ΄ μλ€.
permutation κ³Ό 쑰건μ ν΅ν΄ λ§λ€ μ μλ μ λ₯Ό ꡬνλ€.
β017β μ΄ μ λ ₯λλ€λ©΄ μ΅λλ‘ λ§λ€ μ μλ μ«μμ ν¬κΈ°λ μΈ μ리 μ μ΄λ€.
λ°λΌμ 1 μ리 μ, 2 μ리 μ, 3 μ리 μ μ μμ΄μ λ§λ€μ΄ λ§λ€μ΄ μ§ μκ° μ리μμ κ°μΌλ©΄ 리μ€νΈμ λ£μ΄μ€¬λ€.
μλ₯Όλ€μ΄ 3 μ리 μ μ μμ΄μ λ§λ€λ©΄ (β0β, β1β, β7β) μ΄ λ§λ€μ΄ μ§ μ λ μλ€.
μ΄λ join μ ν΅ν΄ μ«μ 17 λ‘ λ°κΎΌλ€λ©΄ 2 μ리 μμ μ«μμ΄κΈ° λλ¬Έμ 리μ€νΈμ λ€μ΄κ°μ§ μλλ€.
λ λ§μ½ β0170β μ΄ μ λ ₯λλ€λ©΄ (β1β, β0β, β0β) μ΄ λ λ² λ§λ€μ΄μ§λ€.
μ΄λ κ² μ€λ³΅ λλ μλ₯Ό κ±°λ₯΄κΈ° μν΄ λ§μ§λ§μ set μΌλ‘ λ°κΎΌλ€ append ν΄μ£Όμλ€.
def solution(numbers):
answer = 0
_num = list(numbers)
make_num = list()
for idx in range(1, len(_num) + 1):
tmp = [int(''.join(val)) for val in permutations(_num, idx) if len_num(int(''.join(val))) == idx]
make_num.append((set(tmp))
for cur in make_num:
for val in cur:
if is_prime(val):
answer += 1
else:
pass
return answer
μ«μμ μ리 μλ₯Ό ꡬνλ ν¨μμ μμ νλ³ ν¨μλ μΌλ°μ μΈ μκ³ λ¦¬μ¦μ ν΅ν΄ ꡬννλ€.
set μ μ΄μ©ν΄ μλΌν μ€ν λ€μ€λ₯Ό ꡬν νλ λ°©λ²λ μλ€κ³ νλλ°..
λμ€μ κ³΅λΆ ν΄ λ΄μΌκ² λ€.
Leave a comment