[알고리즘] Algorithm Challenge_2023.4.10

신재욱·2023년 4월 10일
0
post-thumbnail

1️⃣ 최대공약수와 최소공배수


풀이

function solution(n, m) {
let big = 0;
let small = 0;
let answer = []

let num = n>m ? n : m

for(let i = 1; i<=num; i++){
if(n%i===0 && m%i===0){
  big=i;
  }
}
small = n * m/big
answer = [big,small]
return answer
}

📝 풀이 설명

  • 처음부터 막막한 부분은 반복문의 종료값에 어떤 값을 줘야될지 고민했다. n+m 값을 줄까도 생각했는데 둘중에 큰 값을 주면 될 거 같아 조건문을 활용해서 둘중 큰 값을 찾았다.
  • 반복문에서 i값을 나눈 결과값이 0인 값이 n과 m둘에 같이 적용되는 값을 최대공약수에 넣어준다.
  • 이건 이번에 안 사실인데 최소공약수는 n값과 m값을 곱한 값에 최대공약수를 나눈값이라는 것을 알게되었다.

문제를 풀면서 느낀점은 좀 더 단순하게 생각해야겠다. 너무 풀어서 어렵게 생각하는 거 같다.

profile
2년차 프론트엔드 개발자

0개의 댓글