[LeetCode] 459. Repeated Substring Pattern

Chobby·2025년 4월 3일
1

LeetCode

목록 보기
329/427

😎풀이

  1. n: s의 길이
  2. 1부터 n보다 작을 때까지 순회
    2-1. cur: 현재 문자열
    2-2. repeatCount: cur을 이어붙일 횟수
    2-3. curRepeated: curpreatCount만큼 이어붙인 문자열
    2-4. curRepeatedn과 작거나 같은동안 이어붙이기
  3. 이어 붙이다가 curRepeateds와 같아졌다면 true
  4. 모두 붙여봤음에도 curRepeateds와 같지 않다면 false
function repeatedSubstringPattern(s: string): boolean {
    const n = s.length
    for(let i = 1; i < n; i++) {
        const cur = s.slice(0, i)
        let repeatCount = 1
        let curRepeated = cur
        while(curRepeated.length <= n) {
            if(curRepeated === s) return true
            curRepeated = cur.repeat(++repeatCount)
        }
    }
    return false
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글