[프로그래머스]소인수분해

allnight5·2022년 11월 21일
0

프로그래머스 입문

목록 보기
33/53

첫번째 방식

def solution(n):
    answer = []
    i = 2
    #n이 1까지 나눠지면 종료된다.
    while n>1: 
        if n%i == 0:
        	# //이 / 보다 좋다
            #좀더 빠르다;
            n //= i
            #answer배열에 없는 
            #i만 배열에 넣어준다.
            if i not in answer:
            	#배열에 i을 넣어준다.
                answer.append(i) 
            i = 1
        #다시 2부터 시작한다.
        i += 1
         
return answer

두번째 방식

def solution(n):
    k = 2
    answer = []
    while n>1:
        if n%k==0:
            answer.append(k)
            #여기서 될거라면 반복해서 나눠준다
            while n%k==0:
                n//=k
        k+=1

    return answer
profile
공부기록하기

0개의 댓글