알고리즘
<Programmers> N개의 최소공배수
koyuchang
2020. 4. 30. 17:57
최대공약수
<유클리드 호제법을 이용하여 풀이>
임시변수(나머지)에 a(나누어진 수)와 b(나누는 수)를 나머지 연산하여 값을 넣는다. 그리고 a(나누어진 수)에 기존 b(나누는 수)를 넣고, b(나누는 수)에 나머지 값r을 넣는다. 이렇게 b(나누는 수)가 0 이 될때 까지 반복!
그때 a의 값은 최대 공약수가 된다.
최소공배수최소공배수
두수의 곱 / 두수의 최대공약수(gcd)
구해진 최대 공약수를 두수의 곱으로 나누면 최소공배수가 된다.
여기서 중요!
2중 for문을 통해 모든 경우의 수에 대해 최소공배수를 구하며는 안된다. 이럴경우 마지막 결과값이 return된다.
두 개의 최소공배수를 구하고, 그 최소공배수랑 배열의 다음 값이랑 다시 함수를 돌리면 구할 수 있다.
프로그래머스 문제풀이(N개의 최소공배수) with JAVA
오랫만에 풀어보는 코딩테스트 문제이다. 요새 학교 공부랑 날이 좋아서 내 공부를 따로 많이 못했다(핑계;). 숫자 배열이 주어지면 그 숫자들의 공통된 최소공배수를 구하는 문제이다.최대공약
velog.io
최소공배수 문제는 저번에 풀어본적있지만 전혀 기억이 안나서 매우 어려웠다.. 복습이 무조건! 꼭! 필요하다.