🔗 문제
https://school.programmers.co.kr/learn/courses/30/lessons/120836
💻 Code
def solution(n):
cnt = 0
for i in range(1, int(n ** 0.5) + 1):
if n % i == 0:
cnt += 2
if i * i == n:
cnt -= 1
return cnt
1부터 n
의 제곱근까지 for 루프를 돌려서 순서쌍의 개수를 찾는다.
if n % i == 0
:i
가n
의 약수일 경우,cnt += 2
:(i, n // i)
,(n // i, i)
의 두 가지 경우가 나오므로cnt += 2
를 해준다.- 이때
i * i == n
, 즉i
가n
의 제곱근일 경우, 한 번만 카운트해야 하므로cnt -= 1
를 해준다.
'Algorithm > 프로그래머스' 카테고리의 다른 글
[Lv.0/Python] 배열의 평균값 (0) | 2023.07.27 |
---|---|
[Lv.0/Python] 주사위 게임1 (0) | 2023.07.26 |
[Lv.0/Python] 콜라츠 수열 만들기 (0) | 2023.07.26 |
[Lv.0/Python] 문자열 바꿔서 찾기 (0) | 2023.07.25 |
[Lv.0/Python] 다음에 올 숫자 (0) | 2023.07.25 |