본문 바로가기

알고리즘

백준 2981(검문) - 유클리드 호제법 (런타임 에러)

작성한 코드

import sys
sys.setrecursionlimit(100000)

def gcd(a, b):
    while b > 0:
        a, b = b, a % b
    return a


N = int(input())
graph = []
for _ in range(N):
    graph.append(int(input()))
graph.sort()

tmp = []
for k in range(1, N):
    tmp.append(graph[k] - graph[k - 1])

num = tmp[0]

for i in range(1, N - 1):
    num = gcd(num, tmp[i])

ans = []
for j in range(2, num + 1):
    if num % j == 0:
        ans.append(j)
ans.sort()

for p in ans:
    print(p, end=' ')

첫줄에 런타임에러에 대한 코드를 써주었는데도 시간 초과가 난다..

입출력값은 잘 나오는데 ㅠㅠ 왜이런 것일까..

알아봐야겠다.

반응형

'알고리즘' 카테고리의 다른 글

하루종일 알고리즘 풀기ㅎㅎ..  (2) 2023.12.11
코드업 기초 100제 파이썬 [6097]  (0) 2023.11.29
백준4796(캠핑) - 그리디  (0) 2023.08.28