https://www.acmicpc.net/problem/14490
14490번: 백대열
n과 m이 :을 사이에 두고 주어진다. (1 ≤ n, m ≤ 100,000,000)
www.acmicpc.net
해석 및 팁
이 문제의 핵심은 최대공약수를 구하는 것입니다. 먼저 문자열을 입력받은 후 split을 통해 두 수를 구해줍니다. 그다음 재귀함수를 통해 최대공약수를 구해준 뒤 최대공약수로 두 수를 나눠서 출력하면 되는 문제입니다.
Java 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] arr = str.split(":");
int a = Integer.parseInt(arr[0]);
int b = Integer.parseInt(arr[1]);
int n = gcd(a, b);
System.out.println(a / n +":"+ b / n);
}
public static int gcd(int a, int b) {
if(b == 0) return a;
else return gcd(b, a % b);
}
}
'백준' 카테고리의 다른 글
백준 1251 단어 나누기(Java) (0) | 2023.02.20 |
---|---|
백준 1417 국회의원 선거(Java) (0) | 2023.02.20 |
백준 16435 스네이크버드(Java) (0) | 2023.02.19 |
백준 12852 1로 만들기 2(Java) (0) | 2023.02.19 |
백준 1325 효율적인 해킹(Java) (0) | 2023.02.19 |