01-22 00:42
Recent Posts
Recent Comments
Tags
- ์๋์ด๋ ธ
- ์กํ๊ณ
- ์คํฝ๋ ํ
- SQL
- Java
- ์จ์ผ๋ํ
- JOBํ๊ณ
- DATABASE
- mysql
- RaspberryPi
- ์ด๋ธ์
- Naver Cloud
- TSQL
- linux
- DB
- python
- ์๋ฐ
- ํ์ด์๊ณต๋ชจ์
- ICT
- ํ์ด์ฌ
- API๋ง์ผํ๋ ์ด์ค
- API MarketPlace ๊ธ๋ก๋ฒ ์ํฌํฐ์ฆ
- ICT๋ฉํ ๋ง
- appetizer
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- Spring
- ict๊ณต๋ชจ์
- ํ๋ก๋ณด๋ ธ
- ํ์ด์
- ์คํฝ์ค๋น
- Today
- Total
miinsun
[Algorithm]์๋ฐ_GCD์ LCM ๊ตฌํ๊ธฐ :: ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ ๋ณธ๋ฌธ
Algorithm/Java
[Algorithm]์๋ฐ_GCD์ LCM ๊ตฌํ๊ธฐ :: ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
miinsun 2022. 5. 21. 20:08
๐ฌ ๋ฌธ์ ์ค๋ช
์ต๋ ๊ณต์ฝ์์ ์ต์ ๊ณต๋ฐฐ์๋ฅผ ๊ตฌํ๊ธฐ.
๋ค์ ์กฐ๊ฑด์ ๋ง์กฑ์ํจ๋ค.
1. ์ซ์๋ฅผ ์ฐจ๋ก๋ก ์ ๋ ฅ๋ฐ๋๋ค.
2. ์ซ์ ์งํฉ์ ๊ฐ์ฅ ํฐ ์ต๋ ๊ณต์ฝ์๋ฅผ ๊ตฌํ๋ค.
3. ์ซ์ ์งํฉ์ ๊ฐ์ฅ ์์ ์ต์ ๊ณต๋ฐฐ์๋ฅผ ๊ตฌํ๋ค.
๋ง์ฝ ์ ๋ ฅ ๋ ์ซ์๊ฐ 0์ด๋ฉด ํ๋ก๊ทธ๋จ์ ์ข ๋ฃํ๋ค.
๐ซ ์ ํ ์ฌํญ
- n์ 1,000,000 ์ดํ์ ์์ฐ์ ์ ๋๋ค
๐จ ์ ์ถ๋ ฅ ์
์ ๋ ฅ - ์ซ์ ์งํฉ์ ์ ๋ ฅํ๋ค.
100, 200, 50, 800, 70, 45, 19
์ถ๋ ฅ - ์ต์๊ณต๋ฐฐ์์ ์ต๋๊ณต์ฝ์๋ฅผ ์ฐจ๋ก๋ก ์ถ๋ ฅํ๋ค.
957600 1
โ
๐ป Solution.java
์ ํด๋ฆฌ๋ ํธ์ ๋ฒ์ ์ด์ฉํด ๋ฌธ์ ๋ฅผ ํ์ดํ๋ฉด ๊ฐ๋จํ๋ค.
- ๋จผ์ , ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ์ ์ด์ฉํด ์ต๋๊ณต์ฝ์๋ฅผ ๊ตฌํ๊ณ
- ๋ ์๋ฅผ ๊ณฑํ ๊ฐ์ ์ดค๋ ๊ณต์ฝ์๋ก ๋๋ ์ต์๊ณต๋ฐฐ์๋ฅผ ๊ตฌํ ์ ์๋ค.
import java.io.*;
public class Main {
// ์ต์ ๊ณต๋ฐฐ์
public static int findLCM(int a, int b) {
if(b == 0) {
return a;
}
return (a * b) / findGCD(a, b);
}
// ์ต๋ ๊ณต์ฝ์
private static int findGCD(int a, int b) {
if(b == 0) {
return a;
}
return findGCD(b, a % b);
}
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader( System.in));
int prevL = 0, prevG = 0;
String inputString = "";
while(true) {
System.out.print("Input : ");
int num = Integer.parseInt(br.readLine());
// ์
๋ ฅ ๋ฐ์ ๊ฐ์ด 0์ด๋ฉด ์ข
๋ฃ
if(num == 0) break;
// ๊ธฐ์กด์ ์
๋ ฅ ๋ฐ์ ์ ์๋ค ์ถ๋ ฅ
StringBuilder sb = new StringBuilder();
inputString += num;
sb.append("Input Numbers : " + inputString).append('\n');
// ๊ธฐ์กด์ ์์ ์
๋ ฅ ๋ฐ์ ๊ฐ์์ ์ต์ ๊ณต๋ฐฐ์ ๊ตฌํ๊ธฐ
int lcm = findLCM(num, prevL);
sb.append("LCM : " + lcm).append('\n');
// ๊ธฐ์กด์ ์์ ์
๋ ฅ ๋ฐ์ ๊ฐ์์ ์ต๋ ๊ณต์ฝ์ ๊ตฌํ๊ธฐ
int gcd = findGCD(num, prevG);
sb.append("GCD : " + gcd).append('\n');
// lcm, gcd ์ถ๋ ฅ
System.out.println(sb);
// ๊ธฐ์กด ์ต๋ ๊ณต์ฝ์, ์ต์ ๊ณต๋ฐฐ์ ์ ์ฅ
prevL = lcm;
prevG = gcd;
inputString += ",";
}
}
}
'Algorithm > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Comments