from typing import List
def get_yaksu(num: int) -> List[int]:
yaksu_list = []
for x in range(1, num+1):
if num % x == 0:
yaksu_list.append(x)
return yaksu_list
N = int(input())
print(*get_yaksu(N))
N = int(input()) # 정수 N 입력
divisors = [] # 약수를 저장할 리스트
for i in range(1, N+1):
if N % i == 0:
divisors.append(i)
for divisor in divisors:
print(divisor, end=' ')
위 코드의 시간 복잡도는 O(N)입니다.
약수를 찾기 위해 1부터 N까지의 수를 모두 확인하는 반복문이 있습니다. 이 반복문은 N에 비례하는 시간이 걸리므로 O(N)의 시간 복잡도를 가집니다. 따라서 입력된 정수 N에 따라 약수를 찾는 데 걸리는 시간이 선형적으로 증가합니다.
딱히 다른점이 없다.