def solution(n):
answer = 0
for i in range(n):
if(n%(i+1)==0):
answer+=1
return answer
range(1, n + 1)을 사용했다면 i+1 대신 i를 바로 쓸 수 있어 코드가 더 직관적내가 한 실수 (Miss)
for i+1 in range(n//2):
for문 바로 뒤에 오는 변수는 반복할 때마다 값이 담기는 '바구니' 역할i + 1은 변수가 아니라 이미 계산이 진행 중인 연산식한 줄 팁 (Tip):
def solution(n):
# 1부터 n까지 직접 순회하여 가독성 높임
return len([i for i in range(1, n + 1) if n % i == 0])
def solution(n):
answer = 0
# n의 제곱근까지만 확인 (O(√n)으로 성능 대폭 향상)
for i in range(1, int(n**0.5) + 1):
if n % i == 0:
if i * i == n: # 5 * 5 = 25 같은 경우 (중복 방지)
answer += 1
else: # 1 * 25 = 25 같은 경우 (1과 25 두 개)
answer += 2
return answer