공부하기/백준

[Java] 백준 풀기 14490 - 백대열

XEV 2024. 1. 9. 23:40

자바 백준 14490번

실버 5

https://www.acmicpc.net/problem/14490

 

14490번: 백대열

n과 m이 :을 사이에 두고 주어진다. (1 ≤ n, m ≤ 100,000,000)

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 수학, 문자열, 정수론, 유클리드 호제법

 

 

 

 

 

코드 보기

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        // 입력
        String[] input = sc.next().split(":");
        int n = Integer.parseInt(input[0]);
        int m = Integer.parseInt(input[1]);
        
        // 최대공약수 계산
        int gcdResult = gcd(n, m);
        
        // 약분하여 출력
        System.out.println(n / gcdResult + ":" + m / gcdResult);
    }
    
    // 최대공약수를 구하는 메서드
    public static int gcd(int n, int m) {
        // 유클리드 호제법을 사용하여 최대공약수 계산
        while (m != 0) {
            int temp = n % m;
            n = m;
            m = temp;
        }
        return n;
    }
}