기몽수
코딩 기록일지
기몽수
전체 방문자
오늘
어제
  • 분류 전체보기 (443)
    • 알고리즘 - SWEA (210)
      • D1 (19)
      • D2 (25)
      • D3 (143)
      • D4 (21)
      • D5 (2)
    • 알고리즘 - Programmers (74)
      • Unrated (34)
      • Lv 0 (4)
      • Lv 1 (3)
      • Lv 2 (32)
      • Lv 3 (1)
    • 알고리즘 - Baekjoon (158)
      • Bronze (1)
      • Silver (65)
      • Gold (90)
      • Platinum (2)
    • 취업 (0)
    • SSAFY (1)
hELLO · Designed By 김용수.
기몽수

코딩 기록일지

알고리즘 - SWEA/D3

[SW expert Academy] SWEA 17937번 큰 수의 최대공약수 자바(Java)

2023. 10. 20. 10:18

[D3] 큰 수의 최대공약수 - 17937

문제 링크

성능 요약

메모리: 21,344 KB, 시간: 136 ms, 코드길이: 920 Bytes

제출 일자

2023-10-20 10:14

출처: SW Expert Academy, https://swexpertacademy.com/main/code/problem/problemList.do

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

import java.util.*;
import java.io.*;
import java.math.BigInteger;

class Solution
{
	public static void main(String args[]) throws Exception
	{
		Scanner sc = new Scanner(System.in);
		int T = sc.nextInt();

		for(int tc = 1; tc <= T; tc++)
		{
            BigInteger A = sc.nextBigInteger();
            BigInteger B = sc.nextBigInteger();;
            
            BigInteger gcd = A;
            if(!A.equals(B)){
                gcd = GCD(A,B);
            }
            
            System.out.println("#" + tc + " " + gcd);
		}
    }
    
    private static BigInteger GCD(BigInteger A, BigInteger B){
        BigInteger result = A;
        BigInteger One = new BigInteger("1");
        
        while(A.compareTo(B)  <= 0){

            result = result.gcd(A);
            if(result.equals(One)){
                return One;
            }
            A = A.add(One);
        }
        return result;
    }
    
}

 

쉬운 방법이 있었다.

import java.util.*;
import java.io.*;
import java.math.BigInteger;

class Solution
{
	public static void main(String args[]) throws Exception
	{
		Scanner sc = new Scanner(System.in);
		int T = sc.nextInt();

		for(int tc = 1; tc <= T; tc++)
		{
            String A = sc.next();
            String B = sc.next();
            
            System.out.println("#" + tc + " " + (A.equals(B)? A : "1"));
		}
    }
}

'알고리즘 - SWEA > D3' 카테고리의 다른 글

[SW expert Academy] SWEA 16800번 구구단 걷기 자바(Java)  (0) 2023.10.20
[SW expert Academy] SWEA 16910번 원 안의 점 자바(Java)  (0) 2023.10.20
[SW expert Academy] SWEA 17319번 문자열문자열 자바(Java)  (0) 2023.10.20
[SW expert Academy] SWEA 17642번 최대 조작 횟수 자바(Java)  (0) 2023.10.20
[SW expert Academy] SWEA 18662번 등차수열 만들기 자바(Java)  (0) 2023.10.20
    '알고리즘 - SWEA/D3' 카테고리의 다른 글
    • [SW expert Academy] SWEA 16910번 원 안의 점 자바(Java)
    • [SW expert Academy] SWEA 17319번 문자열문자열 자바(Java)
    • [SW expert Academy] SWEA 17642번 최대 조작 횟수 자바(Java)
    • [SW expert Academy] SWEA 18662번 등차수열 만들기 자바(Java)
    기몽수
    기몽수

    티스토리툴바