본문 바로가기
Coding Test/프로그래머스 코딩테스트 입문

Python 순서쌍의 개수 [코딩테스트 입문 - Day8]

by giem 2023. 2. 15.
반응형


문제


구현

1부터 n까지 반복하며 나누어 떨어지는 수들을 체크하고 마지막에 리턴해준다.


코드
def solution(n):
    answer =0 
    for i in range(n):
        if n % (i+1) ==0:
            answer +=1
    return answer

다른 풀이

조금 더 효율성을 따지고 싶다면 제곱근까지 조사하고 완전제곱수인지 판단해서 리턴해주면 된다.

def solution(n):
    answer=0
    for i in range(1, int(n**0.5)+1):
        if n%i==0:
            answer+=1
    return answer*2 if n**0.5!=int(n**0.5) else answer*2-1

코드는 길어지지만 시간은 많이 줄어든다.

반응형

댓글