유클리드 호제법(최대공약수 구하기)
·
Java & Spring/알고리즘
◇ 유클리드 호제법 : 최대공약수를 구하는 알고리즘최대공약수(GCD) : 유클리드 호제법을 통해 구한다.최소공배수(LCM) : 두 수의 곱을 최대공약수(GCD)로 나눈다.두 수 A, B(A > B)에 대해 A / B의 나머지 C를 계산B를 C로 나눈 나머지 D를 계산C를 D로 나눈 나머지 E를 계산위 과정을 반복하여 나머지가 0이될 때 마지막 나누는 수가 최대 공약수가 된다.ex)1071과 1029의 최대공약수를 구하면 마지막 나머지가 0이되는 수 21이된다.1071은 1029로 나누어 떨어지지 않기 때문에, 1071을 1029로 나눈 나머지를 구한다. ≫ 421029는 42로 나누어 떨어지지 않기 때문에, 1029를 42로 나눈 나머지를 구한다. ≫ 2142는 21로 나누어 떨어진다.◇ 구현1. 재귀함..
4일차 - 알고리즘 코드카타
·
Java & Spring/코딩테스트
- 진행일자완료 번호24.07.161~2024.07.1721~3524.07.1836~42- 회고최대공약수, 최소공배수 구하기* 유클리드 호제법- 구현- 에러발생   0으로 나누기 시도- 이유 : 처음 구현 시 최대공약수 값에 s를 대입했는데             while문의 조건에 s가 0이 아닐 때 까지이다, 그러므로 최종 s는 0이되게된다.            그렇기 때문에 최대공약수는 0이되기전 s 즉 tmp에 저장해둔값이 된다.배열에서 세수의 합이 0이되는 경우 찾기개선전삼중 for문으로 시간복잡도가 O(n^3)이된다.for문 중첩은 비효율적이므로 다른방법을 찾아봤다.class Solution { public int solution(int[] number) { int answe..