Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 동일한 첫 글자 단어를 가진 가장 긴 연속 하위 목록의 길이를 찾는 프로그램

<시간/>

단어라는 소문자 알파벳 문자열 목록이 있다고 가정합니다. 각 단어의 첫 글자가 같은 첫 글자를 가지는 가장 긴 연속 하위 목록의 길이를 찾아야 합니다.

따라서 입력이 단어 =["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