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

Python에서 연속 중복 제거

<시간/>

"R"과 "L"로 구성된 문자열 s가 있다고 가정하고 연속적인 "R"과 연속적인 "L"이 없도록 최소 문자 수를 제거해야 합니다.

따라서 입력이 "LLLRLR"과 같으면 출력은 "LRLR"

이 됩니다.

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

  • seen :=s의 첫 번째 문자
  • ans :=s의 첫 번째 문자
  • 인덱스 1부터 s 끝까지의 각 문자 i에 대해 다음을 수행합니다.
    • 내가 본 것과 같지 않다면
      • ans :=as + i
      • 본 :=나
  • 반환

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

class Solution:
   def solve(self, s):
      seen = s[0]
      ans = s[0]
      for i in s[1:]:
         if i != seen:
            ans += i
            seen = i
      return ans
ob = Solution()
print(ob.solve("LLLRLRR"))

입력

"LLLRLRR"

출력

LRLR