Please solve the programming task below using a self-contained code snippet in a markdown code block.

There is a strange printer with the following two special properties:

The printer can only print a sequence of the same character each time.
At each turn, the printer can print new characters starting from and ending at any place and will cover the original existing characters.

Given a string s, return the minimum number of turns the printer needed to print it.
 
Please complete the following python code precisely:
```python
class Solution:
    def strangePrinter(self, s: str) -> int:
```