[Day_33] 프로그래머스 숫자 카드 나누기_파이썬 (all,reduce)

LUNA·2023년 3월 22일
0

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

코드

from functools import reduce
from math import gcd
def solution(arrayA, arrayB):  
    gcdA,gcdB=reduce(gcd,arrayA), reduce(gcd,arrayB) #최대공약수 구하기
    answer=[]
    
    if all(i%gcdA for i in arrayB): #arrayB에 있는 요소들이 모두 gcdA로 나누어떨어지지 않으면
        answer.append(gcdA)
    if all(i%gcdB for i in arrayA): #gcdA에 있는 요소들이 모두 gcdB로 나누어떨어지지 않으면
        answer.append(gcdB)
        
    if len(answer)>0:
        return max(answer)
    else:
        return 

 

reduce

반복적으로 계산하는것

reduce(gcd,arrayB)

-> reduce를 이용해서 최대공약수 구하기

 

all

괄호 안 내용이 모두 해당되는것
하나라도 틀리면 False

profile
Happiness

0개의 댓글