728x90
문제
입력된 두 정수에 대한 최대공약수와 최소공배수를 출력한다.
입력
[3, 12]
출력
[3, 12]
최소공배수와 최대공약수의 의미대로 구현하였다.
python
def solution(n, m):
answer = []
min_num=min(n,m)
gcd=0
for i in range(1,min_num+1):
if n%i==0 and m%i==0:
if gcd<i:
gcd=i
lcm=9999999
for i in range(1,n*m+1):
if i%n==0 and i%m==0:
if lcm>i:
lcm=i
answer.append(gcd)
answer.append(lcm)
return answer
다른사람 풀이
def solution(a, b):
answer = []
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
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[Level1] 소수찾기 (0) | 2021.01.23 |
---|---|
[Level1] 행렬의 덧셈 (0) | 2021.01.22 |
[Level1] 제일 작은 수 제거하기 (0) | 2021.01.22 |
[Level1] 정수 제곱근 판별 (0) | 2021.01.22 |
[Level1] 정수 내림차순으로 배치하기 (0) | 2021.01.22 |