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

파이썬에서 같은 첫 글자를 공유하는 모든 단어를 찾는 프로그램

<시간/>

소문자로 된 단어 목록이 있다고 가정하고 모든 단어의 첫 글자가 동일한 가장 긴 연속 하위 목록의 길이를 찾아야 합니다.

따라서 입력이 ["she", "sells", "seashells", "on", "the", "seashore"]와 같으면 출력은 3개의 연속 단어가 "she", "sells"이므로 3이 됩니다. , "조개", 모두 동일한 첫 글자 '''를 가집니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • 최대 길이 :=0
  • curr_letter :=Null, curr_length :=0
  • 단어의 각 단어에 대해 수행
    • curr_letter가 null이거나 curr_letter가 word[0]과 같지 않으면
      • maxlength :=maxlength, curr_length의 최대값
      • curr_letter :=단어[0], curr_length :=1
    • 그렇지 않으면
      • curr_length :=curr_length + 1
  • maxlength 및 curr_length의 최대값 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

class Solution:
   def solve(self, words):
      maxlength = 0
      curr_letter, curr_length = None, 0
      for word in words:
         if not curr_letter or curr_letter != word[0]:
            maxlength = max(maxlength, curr_length)
            curr_letter, curr_length = word[0], 1
         else:
            curr_length += 1
      return max(maxlength, curr_length)
ob = Solution()
words = ["she", "sells", "seashells", "on", "the", "seashore"]
print(ob.solve(words))

입력

["she", "sells", "seashells", "on", "the", "seashore"]

출력

3