https://school.programmers.co.kr/learn/courses/30/lessons/135807

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


gcd를 구하는 함수를 사용하여 리스트의 gcd를 구해 조건을 비교하여 해결하였다.

def gcd(a, b):
    a, b = min(a, b), max(a, b)
    while b:
        a, b = b, a % b
    return a

def list_gcd(arr):
    a = arr[0]
    for b in arr[1:]:
        a = gcd(a, b)
    return a
        
def solution(arrayA, arrayB):
    answer = 0
    
    A, B = list_gcd(arrayA), list_gcd(arrayB)

    for b in arrayB:
        if b % A == 0:
            break
    else:
        answer = max(A, answer)
    
    for a in arrayA:
        if a % B == 0:
            break
    else:
        answer = max(B, answer)
    
    return answerCopy Icon
욱근욱