프로그래머스 1단계
내 통장의 0이 최대치가 되는 그 날까지
최대공약수와 최소공배수를 구해보도록 해보자 💸💚
최대공약수와 최소공배수!
for와 if를 통해 최대공약수와 공배수를 구하는 방법입니다.
1. for을 통해 i는 0부터 시작해 n의 이하가 될때까지 i를 1씩 증가시켜
2. 만약 n 또는 m 을 i와 나누었을때 0이라면 i의 값을 a에 대입하는 최대 공약수를 구하는 방법을 반복시킵니다
3. 그런후 n을 m과 곱해 a로 나눈 값을 b에다가 넣어 공배수를 구해
4. 공약수/공배수를 출력시킵니다.
1. if문에 최대공약수를 만드는 조건을 넣고
2. for을 통해 i를 1씩 증가시켜 최대 공배수를 구하는 방식을 사용
function solution(n, m) {
let a;
for(let i = 0; i <= n; i++) {
if(n % i === 0 && m % i === 0) {
a = i;
}
}
let b = n * m / a;
return [a, b];
}
최대공약수와 최소공배수 : 다른 사람 풀이
if를 화살표 함수로 표햔해 각각 최대 공약수/공배수를 구하는 방법입니다.
1. 큰 수(A)를 작은 수(B)로 나눈다. ( A > B )
2. 나누는 수(B)를 나머지(R)로 계속 나눈다.
3. 나머지가 0이 나오면 나누는 수가 최대 공약수
function solution(n, m) {
const gcd =(a, b) => a % b === 0 ? b : gcd(b, a % b);
const lcm = (a, b) => a * b / gcd(a, b);
return [gcd(n, m), lcm(n, m)]
}
console.log(solution(3,12))
'프로그래머스' 카테고리의 다른 글
프로그래머스 1단계 : 이상한 문자 만들기 (1) | 2022.11.29 |
---|---|
프로그래머스 1단계 : 같은 숫자는 싫어! (1) | 2022.11.27 |
프로그래머스 1단계 : 삼총사! (1) | 2022.11.27 |
프로그래머스 1단계 : 직사각형 별찍기 (1) | 2022.11.24 |
프로그래머스 1단계 : 문자열 내림차순으로 배치하기! (1) | 2022.11.23 |
댓글