- [ Algorithm/알고리즘 ]유클리드 호제법(Euclidean Algorithm)2024-05-16 13:51:06유클리드 알고리즘과 호제법 ☞ 유클리드 알고리즘은 2개의 자연수 또는 정식(整式)의 최대공약수를 구하는 알고리즘의 하나이다. ☞ 호제법이란 말은 두 수가 서로(互) 상대방 수를 나누어(除)서 결국 원하는 수를 얻는 알고리즘을 나타낸다.최대공약수(GCD: Greatest Common Divisor) & 최소공배수(LCM: Least Common Multiple)란?☞ 최대공약수(GCD: Greatest Common Divisor): 두 수의 공통된 '약수 중에서 가장 큰 수'를 의미한다.☞ 최소공배수(LCM: Least Common Multiple): 두 수의 공통된 '배수 중에서 가장 작은 수'를 의미한다.두 수의 최대공약수, 최소공배수 구하기최대공약수(GCD) 구현 방법1. 반복문으로 구현b가 0..
- [ Algorithm/백준 ][BOJ] 15998 : 카카오머니 - java2024-05-16 09:42:28문제https://www.acmicpc.net/problem/15998문제풀이입출금 로그의 유효성을 체크하는 문제이기 때문에 입력받은 N개의 a(입출금액)와 b(잔액)를 배열에 넣은 후 검증한다.입금 시 전 잔액 대비 현 잔액이 유효한지 체크한다.출금 시 잔액이 마이너스가 되는 경우 최소 금액 M을 충전해야 한다. M은 모든 충전의 공통의 약수를 가지며 잔액이 최소의 값이 되게 하는 금액이므로 최대 공약수가 되어야 한다. 최대공약수를 구하는 gcd(유클리드 호제법)를 사용한다.문제의 요구대로 "-1"을 출력해야할 예외케이스가 있다.▶ 입금시, 현 잔액이 전 잔액과 입금액의 합과 맞지 않는 경우▶ 최소 충전 단위보다 더 많이 출금한 경우▶ 이전 잔액보다 적게 출금했는데 잔액이 맞지 않는 경우소스코드imp..