프로그래머스/LV2
[프로그래머스 Lv2,python]- 소수 찾기
chyam_eun
2025. 2. 14. 10:40
https://school.programmers.co.kr/learn/courses/30/lessons/42839
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
import itertools
def isprime(n): # 소수인지 판별
n=int(n)
if n<=1:
return False
for i in range(2,n):
if n%i==0:
return False
return True
def solution(numbers):
cnt=0
le=len(numbers)
nPr =[] # 순열을 저장할 곳
for i in range(1,le+1): # 길이가 1부터 number의 길이까지 순열로 저장
nPr.extend(list(itertools.permutations(numbers, i))) # 순열할때 list로 저장해줘야함
for i in range(len(nPr)): # ["~","~"],["~","~"] 형태이므로 ["~","~","~","~"] 형태로 바꿔주기
nPr[i]="".join(nPr[i])
nPr=list(set(map(int,nPr))) # 중복 제거
for i in nPr:
if isprime(i)==True: # 소수 개수 세기
cnt+=1
return cnt
extend는 append와 다르게 리스트 형태를 추가하게되면 개별 값을 넣게된다.
예를 들면 아래와 같을때 lst는 [1,2,3,[4,5]]가 되고,
lst = [1, 2, 3]
lst.append([4, 5])
extend를 사용하면 lst는 [1,2,3,4,5]가 된다.
lst = [1, 2, 3]
lst.extend([4, 5])