단어라는 소문자 알파벳 문자열 목록이 있다고 가정합니다. 각 단어의 첫 글자가 같은 첫 글자를 가지는 가장 긴 연속 하위 목록의 길이를 찾아야 합니다.
따라서 입력이 단어 =["she", "sells", "seashells", "on", "the", "sea", "shore"]와 같은 경우 출력은 가장 긴 연속 하위 목록인 3이 됩니다. ["그녀", "팔다", "조개"]입니다. 각 단어의 첫 글자는 ''입니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
cnt :=1
-
maxcnt :=0
-
prev_char :=빈 문자열
-
단어의 각 단어에 대해 수행
-
prev_char가 비어 있으면
-
prev_char :=단어의 첫 글자
-
-
그렇지 않으면 prev_char가 단어의 첫 글자와 같을 때
-
cnt :=cnt + 1
-
-
그렇지 않으면
-
prev_char :=단어의 첫 글자
-
cnt :=1
-
-
maxcnt :=maxcnt 및 cnt의 최대값
-
-
반환 maxcnt
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다.
def solve(words): cnt = 1 maxcnt = 0 prev_char = "" for word in words: if prev_char == "": prev_char = word[0] elif prev_char == word[0]: cnt += 1 else: prev_char = word[0] cnt = 1 maxcnt = max(maxcnt, cnt) return maxcnt words = ["she", "sells", "seashells", "on", "the", "sea", "shore"] print(solve(words))
입력
["she", "sells", "seashells", "on", "the", "sea", "shore"]
출력
3