[프로그래머스] (LV1) 최대공약수와 최소공배수

[프로그래머스] (LV1) 최대공약수와 최소공배수

최대공약수와 최소공배수

JavaScript, Python


문제 설명

두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.

제한 사항

  • 두 수는 1이상 1000000이하의 자연수입니다.

입출력 예

n m return
3 12 [3, 12]
2 5 [1, 10]

입출력 예 설명

입출력 예 #1\
위의 설명과 같습니다.

입출력 예 #2\
자연수 2와 5의 최대공약수는 1, 최소공배수는 10이므로 [1, 10]을 리턴해야 합니다.


풀이


javascript

1
2
3
4
5
6
7
8
9
10
11
function solution(n, m) {
let div = 1;
let index = 2;
while( !(index % n === 0 && index % m === 0)){
if( index <= n || index <= m)
if(n % index === 0 && m % index === 0)
div = index
index++;
}
return [div,index]
}


python

1
2
3
4
5
6
7
8
9
10
11
def solution(n, m):
max_ = 1
min_ = max(n,m)
for i in range(1, max(n,m)+1):
if n % i == 0 and m % i == 0 and i > max_:
max_ = i

while True:
if min_ % n == 0 and min_ % m == 0:
return [max_,min_]
min_ += max(n,m)


설명


최대 공약수와 최소 공배수를 구하는 문제.

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges


[프로그래머스] (LV1) 최대공약수와 최소공배수

https://sklubmk.github.io/2021/08/04/83f4e3b5ec17/

Author

Jinki Kim

Posted on

2021-08-04

Updated on

2021-08-05

Licensed under

댓글