
-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);
}
}
처음에 모두 대입해서 풀어보려 했고 문제도 잘못이해해서 여러번 바꿔서 틀렸었습니다. 근데 힌트를 보니 여기서 유클리드 호제법을 사용할 수 있다고 하여 해결하였으나 아쉬웠습니다.
'Beakjoon&프로그래머스 > Java' 카테고리의 다른 글
| [LeetCode/Java] Can Place Flowers (0) | 2025.12.19 |
|---|---|
| [LeetCode/Java] Kids With the Greatest Number of Candies (0) | 2025.12.19 |
| [LeetCode/Java] Merge Strings Alternately (0) | 2025.12.19 |
| [백준/Java] 2446번 별 찍기 - 9 (0) | 2025.12.19 |
| [백준/Java] 11719번 그대로 출력하기 2 (0) | 2025.12.19 |