기몽수
코딩 기록일지
기몽수
전체 방문자
오늘
어제
  • 분류 전체보기 (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 15758번 무한 문자열 자바(Java)

2023. 10. 21. 09:31

[D3] 무한 문자열 - 15758

문제 링크

성능 요약

메모리: 20,408 KB, 시간: 133 ms, 코드길이: 497 Bytes

제출 일자

2023-10-21 09:29

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

import java.util.*;
import java.io.*;

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();
            int lcm = lcm(a.length(),b.length());
            StringBuilder result1 = new StringBuilder();
            StringBuilder result2 = new StringBuilder();
            while(result1.length() != lcm){
                result1.append(a);
            }
            while(result2.length() != lcm){
                result2.append(b);
            }
            System.out.print("#" + tc +" ");
            if(result1.toString().equals(result2.toString())){
                System.out.println("yes");
            }else{
                System.out.println("no");
            }
        }
    }

    private static int lcm(int a,int b){
        return a * b / gcd(a,b);
    }

    private static int gcd(int a, int b){
        while(b!=0){
            int tmp = b;
            b = a % b;
            a = tmp;
        }
        return a;
    }
}

더 쉬운 방법

import java.util.*;
import java.io.*;

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.print("#" + tc +" ");
            if((a+b).equals(b+a)){
                System.out.println("yes");
            }else{
                System.out.println("no");
            }
		}
	}
}

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

[SW expert Academy] SWEA 15230번 알파벳 공부 자바(Java)  (0) 2023.10.21
[SW expert Academy] SWEA 15612번 체스판 위의 룩 배치 자바(Java)  (1) 2023.10.21
[SW expert Academy] SWEA 15941번 평행사변형 자바(Java)  (0) 2023.10.21
[SW expert Academy] SWEA 16002번 합성수 방정식 자바(Java)  (0) 2023.10.21
[SW expert Academy] SWEA 16800번 구구단 걷기 자바(Java)  (0) 2023.10.20
    '알고리즘 - SWEA/D3' 카테고리의 다른 글
    • [SW expert Academy] SWEA 15230번 알파벳 공부 자바(Java)
    • [SW expert Academy] SWEA 15612번 체스판 위의 룩 배치 자바(Java)
    • [SW expert Academy] SWEA 15941번 평행사변형 자바(Java)
    • [SW expert Academy] SWEA 16002번 합성수 방정식 자바(Java)
    기몽수
    기몽수

    티스토리툴바