본문 바로가기
Beakjoon&프로그래머스/Java

[LeetCode/Java] Greatest Common Divisor of Strings

by 현장 2025. 12. 19.

-Code

class Solution {
    public String gcdOfStrings(String str1, String str2) {
        if (!(str1 + str2).equals(str2 + str1))
            return "";

        int length = gcd(str1.length(), str2.length());

        return str1.substring(0, length);
    }

    private static int gcd(int l1, int l2) {
        if (l2 == 0) return l1;
        return gcd(l2, l1 % l2);
    }
}

처음에 모두 대입해서 풀어보려 했고 문제도 잘못이해해서 여러번 바꿔서 틀렸었습니다. 근데 힌트를 보니 여기서 유클리드 호제법을 사용할 수 있다고 하여 해결하였으나 아쉬웠습니다.