[CodeKata] 문자열에서 중복되지 않는 제일 긴 단어의 길이 반환하기
2021. 9. 11. 17:58ㆍ코딩일지/CodeKata

String 형인 str 인자에서 중복되지 않은 알파벳으로 이루어진 제일 긴 단어의 길이를 반환해주세요.
str: 텍스트
return: 중복되지 않은 알파벳 길이 (숫자 반환)
예를 들어,
str = "abcabcabc"
return 은 3
=> 'abc' 가 제일 길기 때문
str = "aaaaa"
return 은 1
=> 'a' 가 제일 길기 때문
str = "sttrg"
return 은 3
=> 'trg' 가 제일 길기 때문
Solution
def get_len_of_str(s):
# 아래 코드를 작성해주세요.
str_list = []
max_length = 0
for i in s:
if i in str_list:
str_list = str_list[str_list.index(i) + 1:]
str_list.append(i)
max_length = max(max_length, len(str_list))
return max_length
str_list라는 빈문자열을 만들어주고 정수형 변수 max_length를 0으로 해서 변수를 지정해줍니다.
이후 주어진 str의 인자의 요소만큼 반복하는데, 요소가 빈 리스트 안에 있는지 확인을 하고, 존재한다면 해당 요소의 다음 인덱스부터 끝까지 인덱싱하고 요소를 리스트문자열에 추가해줍니다.
리스트의 길이와 정수형 변수 max_length를 비교해서 더 큰수를 저장해주고 반환해줍니다.

'코딩일지 > CodeKata' 카테고리의 다른 글
| [CodeKata] 정수를 인자로 받아 뒤집어 반환하기 (0) | 2021.09.11 |
|---|---|
| [CodeKata] 특정 배열에서 덧셈 조합찾기 (0) | 2021.09.05 |