SW Expert Academy-1933-Python

cosmos·2023년 5월 1일
0
post-thumbnail

코드

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))

결과

ChatGPT Code

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=' ')

ChatGPT 문제풀이

위 코드의 시간 복잡도는 O(N)입니다.
약수를 찾기 위해 1부터 N까지의 수를 모두 확인하는 반복문이 있습니다. 이 반복문은 N에 비례하는 시간이 걸리므로 O(N)의 시간 복잡도를 가집니다. 따라서 입력된 정수 N에 따라 약수를 찾는 데 걸리는 시간이 선형적으로 증가합니다.

ChatGPT 코드와의 비교

딱히 다른점이 없다.

문제출처 & 깃허브

sw expert academy
github

0개의 댓글