반응형
문제
구현
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
코드는 길어지지만 시간은 많이 줄어든다.
반응형
'Coding Test > 프로그래머스 코딩테스트 입문' 카테고리의 다른 글
Python 진료 순서 정하기 [코딩테스트 입문 - Day8] (0) | 2023.02.15 |
---|---|
Python 배열 자르기 [코딩테스트 입문 - Day8] (0) | 2023.02.15 |
Python 양꼬치 [코딩테스트 입문 - Day7] (0) | 2023.02.09 |
Python 각도기 [코딩테스트 입문 - Day7] (0) | 2023.02.09 |
Python 짝수의 합 [코딩테스트 입문 - Day7] (0) | 2023.02.09 |
댓글