Code Kata3

def get_len_of_str(s):
    # 아래 코드를 작성해주세요.

    a = [] # 빈 리스트 중복되지 않은 문자들을 저장
    b = list(s) # 원본 문자열 리스트
    c = [] # 리셋할 때 len을 저장하는 리스트

    for i in b:
        if i in a:
            c.append(len(a))
            a = [i]
        elif i not in a:
            a.append(i)
    
    c.append(len(a))

    print(max(c))
    return max(c)

a = [] 로 빈 리스트를 만들고, string 값 s를 list화(예) aaaa=>a,a,a,a) 합니다.

for문을 돌려서 list에 각 문자(i)가 있다면 c에 a의 길이를 append를 하고, 그렇지 않다면 a에 append를 합니다.

문자열 sttrg를 예를 들자면 s와 두 번째 t는 b에 없으므로 a 리스트에 추가됩니다. 세 번째 t는 list a에 있으므로 길이인 2가 c에 추가되고 list a는 [t]가 됩니다.

그 후 r,g는 a 리스트에 없으므로 추가하며 for문을 빠져나옵니다. 이 때 c에는 [t,r,g] 3개가 들어오므로 3이 됩니다.

결론적으로 c에는 2와 3이 있으므로 max(c)는 3이 됩니다.

좋은 웹페이지 즐겨찾기