๋ฌธ์ ์ค๋ช
ํ์๋ฆฌ ์ซ์๊ฐ ์ ํ ์ข ์ด ์กฐ๊ฐ์ด ํฉ์ด์ ธ์์ต๋๋ค. ํฉ์ด์ง ์ข ์ด ์กฐ๊ฐ์ ๋ถ์ฌ ์์๋ฅผ ๋ช ๊ฐ ๋ง๋ค ์ ์๋์ง ์์๋ด๋ ค ํฉ๋๋ค.
๊ฐ ์ข ์ด ์กฐ๊ฐ์ ์ ํ ์ซ์๊ฐ ์ ํ ๋ฌธ์์ด numbers๊ฐ ์ฃผ์ด์ก์ ๋, ์ข ์ด ์กฐ๊ฐ์ผ๋ก ๋ง๋ค ์ ์๋ ์์๊ฐ ๋ช ๊ฐ์ธ์ง return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์ฌํญ
- numbers๋ ๊ธธ์ด 1 ์ด์ 7 ์ดํ์ธ ๋ฌธ์์ด์ ๋๋ค.
- numbers๋ 0~9๊น์ง ์ซ์๋ง์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- "013"์ 0, 1, 3 ์ซ์๊ฐ ์ ํ ์ข ์ด ์กฐ๊ฐ์ด ํฉ์ด์ ธ์๋ค๋ ์๋ฏธ์ ๋๋ค.
์
์ถ๋ ฅ ์
numbers | return |
"17" | 3 |
"011" | 2 |
์
์ถ๋ ฅ ์ ์ค๋ช
์์ #1: [1, 7]์ผ๋ก๋ ์์ [7, 17, 71]๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
์์ #2: [0, 1, 1]์ผ๋ก๋ ์์ [11, 101]๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. 11๊ณผ 011์ ๊ฐ์ ์ซ์๋ก ์ทจ๊ธํฉ๋๋ค.
๋์ ์๋ฃจ์
from itertools import permutations
import math
def isprime(num):
if num < 2: return False
max = int(math.sqrt(num)) + 1
for i in range(2, max):
if num%i==0: return False
return True
def solution(numbers):
prime = [int(num) for num in numbers ]
i = 2
while i <= len(numbers):
add = [int(''.join(num)) for num in list(permutations(numbers, i))]
prime.extend(add)
i += 1
count = 0
for num in list(set(prime)):
if isprime(num):
count+=1
return count
๋ฐฐ์ด ์
ํ์ด์ฌ์ผ๋ก ์๊ณ ๋ฆฌ์ฆ์ ํ๋ฉด ๊ฐํธํ ๋ชจ๋ ๋๋ถ์ ์ฝ๊ฒ ํ๋ฆฌ๊ธฐ๋ ํ์ง๋ง ์ ์ ์๊ฐํ๋ ํ์ด ๊ธธ๋ฌ์ง์ง ์๋ ๊ฒ ๊ฐ์ ์ฐ๋ ค๋๋ค. ๊ณผ์ฐ ํ์ด์ฌ์ผ๋ก ๊ณ์ ์๊ณ ๋ฆฌ์ฆ์ ํ์ด๋๊ฐ์ผ ํ๋๊ฐ ๊ณ ๋ฏผํด ๋ณด์์ผ ํ ์์ ์ด ๋์๋ค.
'๐ป DEV > ใด problems' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ํด์: ์์ฅ (0) | 2021.07.13 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์ ๋ ฌ: ๊ฐ์ฅ ํฐ ์ (0) | 2021.07.13 |
[ํ๋ก๊ทธ๋๋จธ์ค] 2021 Dev-Matching: ์น ๋ฐฑ์๋ ๊ฐ๋ฐ์(์๋ฐ๊ธฐ) : ํ๋ ฌ ํ ๋๋ฆฌ ํ์ ํ๊ธฐ (0) | 2021.07.08 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํ(Heap) : ๋ ๋งต๊ฒ (0) | 2021.07.08 |
[ํ๋ก๊ทธ๋๋จธ์ค] Summer/Winter Coding(2019) : ๋ฉ์ฉกํ ์ฌ๊ฐํ (0) | 2021.07.08 |
๋๊ธ