๋ฌธ์ ํ๊ธฐ ์ ์์์ผ ๋ ์ง์
- ์์ด(permutations)
์๋ก ๋ค๋ฅธ n๊ฐ์์ r๊ฐ๋ฅผ ์ ํํ ๋ ์์๋ฅผ ๊ณ ๋ คํ์ฌ ์ค๋ณต์์ด ๋ฝ์ ๊ฒฝ์ฐ์ ์.
ํ์ด์ฌ์๋ ์์ด(permutations)์ ์กฐํฉ ์ ์์ฝ๊ฒ ๋ง๋ค์ด์ฃผ๋ ๋ชจ๋ iteratools๊ฐ ์๋ค.
๊ทธ๋์
from iteratools import permutations
์ ์ฝ๋๋ฅผ ์ด์ฉํ์ฌ ๋ชจ๋์ ๊ฐ์ ธ์ค๋ฉด ๋๋ค.
์์ ์ฝ๋
from iteratools import permutations # ์์ด๊ณผ ์กฐํฉ์ ์์ฝ๊ฒ ๋ง๋ค์ด์ฃผ๋ ๋ชจ๋ itertools ์ฌ์ฉ
arr = ['a','b','c','d'] # ์์๋ก ๋ฐฐ์ด ์ค์ ํ์ฌ arr ๋ณ์ ์ ์ฅ
print(permutations(arr,2)) # ๋ฐ๋ณต๊ฐ๋ฅํ ๊ฐ์ฒด(๋ฆฌ์คํธ,ํํ,๋ฌธ์์ด)์์์ r๊ฐ๋ฅผ ์ ํํ๋ค. ์ฌ๊ธฐ์ r์ 2๋ก ์ก์์
for i in permutations(arr,2): # ๋ฐฐ์ด ์์ 2๊ฐ ์ ํํ์ฌ i์ ๋ฃ์ด์ ๋ฐ๋ณต์ํจ๋ค.
print(i) # i ๊ฐ ์ถ๋ ฅ
ํ์ด
from itertools import permutations # itertools ๋ชจ๋์์ permutations ๊ฐ์ ธ์ค๊ธฐ
array = [] # ๋ณ์ array ๋ช
[] ๋ฐฐ์ด ์์ฑ
def check_prime_number(numberA): # check_prime_number ํจ์ , ์ธ์ numberA ๋ก ๋ฐ์.
number = int(numberA) # ๋ณ์ number ์ ์ ์ํ ์ผ๋ก numberA ์ ์ฅํ๊ธฐ
if number != 1 and number != 0: # ๋ง์ฝ ๋ฐ์ ์ ์ํ numberA์ธ number๋ณ์๊ฐ 1์ด ์๋๊ฒฝ์ฐ ์ 0์ด ์๋๊ฒฝ์ฐ
for f in range(2, number): # 2๋ถํฐ number๊น์ง ๋ฐ๋ณต for๋ฌธ ๋๋ฆผ
if number % f == 0: # number์์ f๋ก ๋๋ ๋๋จธ์ง ๊ฐ์ด 0์ผ๊ฒฝ์ฐ
return False # false ๋ฐํํ๊ฒ๋จ.
else: # number๊ฐ 1์ด๊ฑฐ๋ 0์ผ๊ฒฝ์ฐ (์ฆ ์๋๊ฒฝ์ฐ)
return False # false ๋ฐํํจ
array.append(number) #๋ณ์array(๋ฆฌ์คํธ)์ number ๊ฐ ์ถ๊ฐํด์ฃผ๊ธฐ.
def solution(numbers): #ํจ์ solution์ numbers ๋งค๊ฐ๋ณ์๋ก ๋ฐ๊ธฐ.
for length in range(1, len(numbers)+1):
perList = list(map(''.join, permutations(list(numbers), length)))
for per in perList:
check_prime_number(per)
result = set(array)
return len(result)
- ์ฐ์ ์์๊ฐ ๋ง๋ค๋ฉด ๋ฐฐ์ด(array)์ ๋ฃ์ด์ฃผ๋ ์์ Check ํจ์๋ฅผ ๊ตฌํํด์ฃผ๊ณ
- ์ ๋ ฅ ๋ฐฐ์ด์ ๊ฐ์๋งํผ ๋ฐ๋ณต๋ฌธ์ ํตํ์ฌ,
- itertools์ permutations์ ์ด์ฉํ์ฌ ๊ฐ ์ซ์๋ก ์ด๋ฃจ์ด์ง ์ ์๋ ์ซ์๋ค์ ๊ตฌํ์ฌ ๋ฐฐ์ด(perList)์ ํฌํจ์์ผ์ฃผ๊ณ
- ๋ฐฐ์ด(perList)์ ๋ฐ๋ณต๋ฌธ์ ํตํด, ์ 1๋ฒ์์ ๊ตฌํํ ์์ Check๋ก Filtering ํ์ฌ ๋ฐฐ์ด(array)์ ํฌํจํด์ฃผ๋ฉฐ
- ๋ง์ง๋ง์ผ๋ก Filtering๋ ๋ฐฐ์ด(array)์ Set์ผ๋ก ์นํํ์ฌ ์ค๋ณต์ ์ ๊ฑฐํ ํ ๊ฐฏ์๋ฅผ ์ถ๋ ฅํ์์ต๋๋ค.
'์๊ณ ๋ฆฌ์ฆ ๐ก > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋์ด ์ ๋ณด๊ฐ ์๋ ํ์ ์ ๊ตฌํ๊ธฐ / is null (0) | 2023.11.03 |
---|---|
์ด๋ฆ์ด ์๋ ๋๋ฌผ์ ์์ด๋ / is null (0) | 2023.11.03 |
์ด๋ฆ์ด ์๋ ๋๋ฌผ์ ์์ด๋ (0) | 2023.11.03 |
2023 KAKAO BLIND RECRUITMENT (1) | 2023.09.07 |
[ํ๋ก๊ทธ๋๋จธ์ค_์คํ/ํ] ๊ฐ์ ์ซ์๋ ์ซ์ด (ํ์ด์ฌ) (0) | 2022.12.06 |