넘치게 채우기

[LeetCode] 459. Repeated Substring Pattern 본문

PS/LeetCode

[LeetCode] 459. Repeated Substring Pattern

riveroverflow 2023. 8. 21. 17:02
728x90
반응형

https://leetcode.com/problems/repeated-substring-pattern/

 

Repeated Substring Pattern - LeetCode

Can you solve this real interview question? Repeated Substring Pattern - Given a string s, check if it can be constructed by taking a substring of it and appending multiple copies of the substring together.   Example 1: Input: s = "abab" Output: true Expl

leetcode.com

문제 유형 : 문자열 처리

문제 난이도 : Easy

 

문제

Given a string s, check if it can be constructed by taking a substring of it and appending multiple copies of the substring together.

 

문자열 s가 주어집니다. 이 문자열이 부분 문자열의 반복으로 구성되어 있는지 확인하시오.

 

풀이

문자열 s가 부분 문자열의 반복으로 이루어졌다면, s에 s를 이어붙이고 양 끝을 없앤 문자열에서 s를 찾을 수 있어야한다.

찾을 수 있으면 true, 없으면 false를 반환한다.

 

코드

C++

class Solution {
public:
    bool repeatedSubstringPattern(string s) {
        return (s + s).substr(1, 2*s.size()-2).find(s) != -1;
    }
};

 

Python3

 

class Solution:
    def repeatedSubstringPattern(self, s: str) -> bool:
        return s in s[1:] + s[:-1]

Java

class Solution {
    public boolean repeatedSubstringPattern(String s) {
        return (s + s).substring(1, s.length() * 2 - 1).contains(s);
    }
}
 
728x90
반응형