풀이
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값을 곱한 값에 최대공약수를 나눈값이라는 것을 알게되었다.
문제를 풀면서 느낀점은 좀 더 단순하게 생각해야겠다. 너무 풀어서 어렵게 생각하는 거 같다.