Menu
CoddyTech

Longest Substring Without Repeating Characters

문자열에서 모든 문자가 한 번만 나타나는 연속된 문자 구간을 찾아보세요. coddycode에서 ycode 구간은 서로 다른 문자 다섯 개로 이루어져 있고, 반복 없이 더 긴 구간은 없으므로 답은 5입니다.

가능한 모든 구간을 확인해도 되지만, 느립니다. 더 빠른 방법은 반복되는 문자가 절대 포함되지 않는 두 위치 사이의 윈도우를 유지합니다. 오른쪽 끝을 한 번에 한 문자씩 이동하세요. 새 문자가 이미 윈도우 안에 있으면, 그 문자가 이전에 있었던 위치 바로 다음으로 왼쪽 끝을 이동하세요. 각 문자의 마지막 위치를 기억하면 이 이동을 즉시 할 수 있으므로 문자열을 한 번만 읽으면 됩니다.

문자열 s를 받아 중복 문자가 없는 가장 긴 부분 문자열(연속된 문자들의 구간)의 길이를 반환하는 lengthOfLongestSubstring이라는 함수를 작성하세요.

대문자와 소문자는 서로 다른 문자이므로, a와 A는 중복이 아닙니다.

제약 조건: 1 <= s.length <= 5 * 10^4. s에는 영문자(소문자와 대문자)와 숫자만 포함됩니다.

함수

lengthOfLongestSubstring(arg1: string) → integer
arg1string
반환값integer

예제

입력
arg1 = "coddycode"
출력
5

lock icon제출 시 숨은 테스트 +12개

코드 초기화
def lengthOfLongestSubstring(s):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

케이스 3

입력

arg1 = "coddycode"

기대값

5