[LeetCode] 3456. Find Special Substring of Length K

Chobby·2026년 1월 13일

LeetCode

목록 보기
913/989

😎풀이

  1. s 순회
    1-1. k개의 범위 순회
    1-2. 모든 요소가 고유한 하나의 문자인지 검증
    1-3. 부분 문자열 이전, 이후 문자가 동일하지 않은지 검증
    1-4. 모든 조건 만족 시 특별한 부분 문자열이 있으므로, true 반환
  2. 모든 범위 순회 후 특별한 부분 문자열을 찾지 못했으므로, false 반환
function hasSpecialSubstring(s: string, k: number): boolean {
    for(let i = 0; i <= s.length - k; i++) {
        const curSubStr = s.slice(i, i + k)
        const set = new Set(curSubStr)
        if(set.size > 1) continue
        const prevChar = s[i - 1] ?? ''
        const nextChar = s[i + k] ?? ''
        if(curSubStr[0] === prevChar) continue
        if(curSubStr[0] === nextChar) continue
        return true
    }
    return false
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글