[파이썬3 코딩테스트] 순서쌍의 개수

Sy Rhee·2022년 12월 18일
0

예를 들어
n = 20이면 (1,20),(2,10),(4,5),(5,4),(10,2),(20,1)로 6개의 순서쌍이 나와서 6이 출력되어야 하며
n = 17이면 (1,17),(17,1)과 같이 2개로, 2가 출력되어야 한다.

나의 접근
1. 이중 for문을 이용하여 구현 - 시간초과.
2. 나머지가 0일 때의 조건을 이용하여 구현
순서쌍 (a,b)에서 n의 약수인 모든 a를 구해주면 된다.
(b는 자동으로 b = n/a가 된다.)

for문 구현

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

while문 구현

def solution(n):
   answer = 0
   a = 1
   while n >= a:
       if n%a == 0:
           answer += 1
           a += 1
       else:
           a += 1
   return answer```

profile
hello

1개의 댓글

comment-user-thumbnail
2022년 12월 19일

thanks deep shower
have a nice day

답글 달기