https://school.programmers.co.kr/learn/courses/30/lessons/135807
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 answer
'Coding Test > 프로그래머스' 카테고리의 다른 글
[프로그래머스] / [Level 2] / [Python] 뒤에 있는 큰 수 찾기 (0) | 2023.02.06 |
---|---|
[프로그래머스] / [Level 2] / [Python] 숫자 변환하기 (0) | 2023.02.02 |
[프로그래머스] / [Level 2] / [Python] 점찍기 (0) | 2023.01.26 |
[프로그래머스] / [Level 2] / [Python] 택배상자 (0) | 2023.01.25 |
[프로그래머스] / [Level 2] / [Python] 롤케이크 자르기 (0) | 2023.01.25 |