๋ฌธ์
ํ๋ก๊ทธ๋๋จธ์ค ์์์ฐพ๊ธฐ
https://school.programmers.co.kr/learn/courses/30/lessons/42839
์ฝ๋
import itertools
def sosu(num):
if num == 0 or num == 1:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
def solution(n):
answer = []
for i in range(len(n)):
number = set(map(int, map("".join, itertools.permutations(list(n), i + 1))))
for num in number:
if sosu(num):
answer.append(num)
return len(set(answer))
ํ์ด
# ์์์ธ์ง ์๋์ง ํ์ธํ๋ ํจ์
def check(x):
if x == 0 or x == 1:
return False
for k in range(2, int(x**0.5) + 1):
if x % k == 0:
return False
return True
0๊ณผ 1์ ์์๊ฐ ์๋๋ฏ๋ก False๋ฅผ ๋ฐํํ๋ค.
์ ์๋ก ์ค
"์์์ ์์ x๊ฐ ํฉ์ฑ์๋ฉด ๋ฃจํธx(= x**0.5)๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ฝ์๋ฅผ ๊ฐ์ง๋ค"
๋ผ๋ ํน์ฑ์ ์ด์ฉํ์ฌ ์์ธ์ง ์๋์ง ํ์ธํ๋ ํจ์๋ฅผ ์ ์ํ๋ค.
def solution(n):
answer = []
์ข ์ด์กฐ๊ฐ๋ค๋ก ๋ง๋ค ์ ์๋ ์์๋ค์ ๋ด๋ ๋ฐฐ์ด์ ํ๋ ์์ฑํ๋ค.
for i in range(len(n)):
number = set(map(int, map("".join, itertools.permutations(list(n), i + 1))))
- map("".join, itertools.permutations(list(n), i + 1))
- i๊ฐ์ ์ข ์ด์กฐ๊ฐ์ ๋ฝ์ ๋ง๋ค ์ ์๋ ๋ชจ๋ ๊ฒฝ์ฐ์์ ์์ด์ ๋ง๋ค๊ณ ์ด๋ฅผ ๋ฌถ์ด ๋ฆฌ์คํธ ํํ๋ก ๋ฐํํ๋ค.
- ์ด๋ ์์ฑ๋ ๊ฒฝ์ฐ์ ์๋ค์ ๋ฌธ์์ด ํํ์ด๋ค.
- map(int, map("".join, itertools.permutations(list(n), i + 1)))
- mapํจ์๋ก ๊ฒฝ์ฐ์ ์๋ค์ ์ ์ํ์ผ๋ก ๋ฐ๊พผ๋ค.
- set(map(int, map("".join, itertools.permutations(list(n), i + 1))))
- ์ค๋ณต๋ ์ซ์๋ฅผ ๊ณ ๋ คํ๊ธฐ ์ํด ์งํฉ์ผ๋ก ๋ฐ๊พผ๋ค.
for num in number:
if sosu(num):
answer.append(num)
๋ง๋ค์ด์ง i์๋ฆฟ์ ๊ฒฝ์ฐ์ ์์ ๋ํด ๊ฐ๊ฐ ์์์ธ์ง ์๋์ง ํ๋ณํ๋ค.
num ๋ง์ฝ ์์๋ผ๋ฉด answer ๋ฐฐ์ด์ num์ ์ถ๊ฐํ๋ค.
return len(set(answer))
answer ๋ฐฐ์ด์ ์ค๋ณต๋ ์๊ฐ ์์ ์ ์์ผ๋ ์งํฉ์ผ๋ก ํํ๋ฅผ ๋ฐ๊พธ๊ณ
์ด ์งํฉ์ ์๋ ์์์ ๊ฐ์(= ์งํฉ์ ๊ธธ์ด)๋ฅผ ๋ฐํํ๋ค.
์๋กญ๊ฒ ๋ฐฐ์ด์ /๋๋์
- ์์ ๋ณด๋ค map ํจ์์ ๋ํด ์ดํด๋๊ฐ ์ฌ๋ผ๊ฐ๋ ์ฝ๋๋ฅผ ๋ ๊ฐ๊ฒฐํ๊ณ ๊ฐ๋ ์ฑ ์ข๊ฒ ์ ์ ์ ์์๋ค.
- ์์ ํ์ ๋ฐฉ๋ฒ์ ์ธ๋ ค๋ฉด ์๋ฃ๊ตฌ์กฐ์ ์ต์ ํ๊ฐ ์ค์ํ๋ค๊ณ ์๊ฐํ๋ค.
'์ฝ๋ฉํ ์คํธ๐ก' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] N-Queen (0) | 2024.08.07 |
---|---|
[๋ฐฑ์ค] 1135. ๋ด์ค ์ ํ๊ธฐ (0) | 2024.08.03 |
[๋ฐฑ์ค] 1927. ์ต์ ํ & 11279. ์ต๋ ํ (0) | 2024.07.31 |
[๋ฐฑ์ค] 14888. ์ฐ์ฐ์ ๋ผ์๋ฃ๊ธฐ (2) | 2024.07.14 |
[๋ฐฑ์ค] 1012. ์ ๊ธฐ๋ ์๋ฐฐ์ถ (2) | 2024.07.14 |