happy coding
[level 1] 최대공약수와 최소공배수 본문
문제 설명
두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.
제한 사항- 두 수는 1이상 1000000이하의 자연수입니다.
내 풀이
def solution(n, m):
gcd = MOD(n,xq m)
lcm = n * m / gcd
answer = [gcd, lcm]
return answer
def MOD(a, b):
x = max(a, b)
y = min(a, b)
if b == 0:
return a
else:
return MOD(b, a%b)
다른 풀이
def gcdlcm(a, b):
c,d = max(a, b), min(a, b)
t = 1
while t>0:
t = c%d
c, d = d, t
answer = [ c, int (a*b/c)]
return answer
def solution(n, m):
gcd = lambda a,b : b if not a%b else gcd(b, a%b)
lcm = lambda a,b : a*b//gcd(a,b)
return [gcd(n, m), lcm(n, m)]
'coding study > programmars' 카테고리의 다른 글
[level 1] 문자열 내 마음대로 정렬하기 (0) | 2024.06.30 |
---|---|
[level 1] K번째수 (0) | 2024.06.30 |
[level 1] 숫자 문자열과 영단어 (0) | 2024.06.30 |
[level 1] 가장 가까운 같은 글자 (0) | 2024.06.29 |
[level 1] 시저 암호 (0) | 2024.06.29 |
Comments