"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