문제
대열이는 욱제의 친구다.
“야 백대열을 약분하면 뭔지 알아?”
“??”
“십대일이야~ 하하!”
n:m이 주어진다. 욱제를 도와주자. (...)
입력
n과 m이 :을 사이에 두고 주어진다. (1 ≤ n, m ≤ 100,000,000)
출력
두 수를 최대한으로 약분하여 출력한다.
예제 입력 1
100:10
예제 출력 1
10:1
예제 입력 2
18:24
예제 출력 2
3:4
쉬운 문제!
욱제를 도와주자..
말 그대로 계속 약분하면 된다..
import java.util.Scanner;
public class Ex14490 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String n = sc.next();
String[] num = n.split(":");
int num1 = Integer.parseInt(num[0]);
int num2 = Integer.parseInt(num[1]);
int m = 2;
while(m <num1 || m < num2){
if (num1 % m != 0 || num2 % m != 0) {
m++;
} else {
num1 = num1 / m;
num2 = num2 / m;
}
}
StringBuilder sb = new StringBuilder();
sb.append(num1);
sb.append(":");
sb.append(num2);
System.out.println(sb);
}
}
'Java > Algorithm' 카테고리의 다른 글
JAVA - 백준 11399 ATM (1) | 2025.03.27 |
---|---|
JAVA - 백준 1931 회의실 배정 (0) | 2025.03.25 |
JAVA - 백준 1254 팰린드롬 만들기 (2) | 2025.03.24 |
JAVA - 백준 9996 한국이 그리울 땐 서버에 접속하지 (0) | 2025.03.24 |
JAVA - 백준 20920 영단어 암기는 괴로워 (0) | 2025.03.21 |