코린이의 소소한 공부노트

[LeetCode/Easy] 459. Repeated Substring Pattern 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 459. Repeated Substring Pattern

무지맘 2023. 5. 19. 12:41

1. Input

1) String s

 

2. Output

1) s의 한 부분 문자열을 반복해서 s를 만들 수 있다면 true, 만들 수 없다면 false를 반환

 

3. Constraint

1) 1 <= s.length <= 10^4

2) s는 영어 소문자로만 이루어져 있다.

3) 부분 문자열에서 자기 자신은 제외한다.

 

4. Example

Input: s = "abab" -> Output: true

Input: s = "aba" -> Output: false

 

5. Code

1) 첫 코드(2023/05/19)

class Solution {
    public boolean repeatedSubstringPattern(String s) {
        boolean find = false;
        for(int i=1 ; i<s.length() && !find ; i++){
            if(s.length()%i==0)
                find = s.substring(0,i).repeat(s.length()/i).equals(s);
        }
        return find;
    }
}

- 속도는 빠른데 메모리를 꽤 잡아 먹는 편