[LeetCode] Repeated Substring Pattern

아르당·약 3시간 전

LeetCode

목록 보기
94/94
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

문자열 s가 주어졌을 때, 부분 문자열을 추출하여 해당 부분 문자열을 여러 개 붙여서 새로운 문자열을 만들 수 있는지 확인해라.

Example

#1
Input: s = "abab"
Output: true
Explanation: 부분 문자열 "ab"가 두 번 반복된다.

#2
Input: s = "aba"
Output: false

#3
Input: s = "abcabcabcabc"
Output: true
Explanation: 부분 문자열 "abc"가 네 번 반복되고, 부분 문자열 "abcabc"가 두 번 반복된다.

Constraints

  • 1 <= s.length <= 10^4
  • s는 소문자 영어 알파벳으로 구성된다.

Solved

class Solution {
    public boolean repeatedSubstringPattern(String s) {
        int n = s.length();

        for(int i = 1; i <= n / 2; i++){
            if(n % i == 0 && s.substring(0, i).repeat(n / i).equals(s)){
                return true;
            }
        }

        return false;
    }
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글