단어라는 소문자 알파벳 문자열 목록이 있다고 가정합니다. 각 단어의 첫 글자가 같은 첫 글자를 가지는 가장 긴 연속 하위 목록의 길이를 찾아야 합니다.
따라서 입력이 단어 =["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