[Programmers] LV.2 숫자 카드 나누기

Max Kang·2022년 11월 29일
0

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

문제풀이

GCD 를 구하는 문제다.
reduce library를 사용하면, 여러숫자가 있을경우 gcd를 조금더 간편하게 구할 수 있다.

import math
from functools import reduce

def check(array,divider):
    for a in array:
        if a%divider==0:
            return False
    return True

def solution(arrayA, arrayB):
    answer = 0
    a = reduce(math.gcd,arrayA)
    b = reduce(math.gcd,arrayB)
    
    if(a==b): return 0
    if(a>b):
        if (check(arrayB,a)): return a
        if (check(arrayA,b)): return b
    if (check(arrayA,b)): return b
    if (check(arrayB,a)): return a
    return answer
profile
Software Engineer

0개의 댓글