[백준] 2824번 최대공약수

거북이·2023년 2월 6일
0

백준[실버1]

목록 보기
34/67
post-thumbnail

💡문제접근

  • 유클리드 호제법을 이용해서 최대공약수를 구한 다음 조건에 맞게 경우를 나누어 코드를 작성했다.

💡코드(메모리 : 31256KB, 시간 : 76ms)

import sys
input = sys.stdin.readline

N = int(input().strip())
N_li = list(map(int, input().strip().split()))
M = int(input().strip())
M_li = list(map(int, input().strip().split()))

result1 = 1
for i in N_li:
    result1 *= i

result2 = 1
for i in M_li:
    result2 *= i

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

GCD = str(gcd(result1, result2))
if len(GCD) > 9:
    print(GCD[len(GCD)-9:])
else:
    print(GCD)

💡소요시간 : 4m

0개의 댓글