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

Given an array of integers cost and an integer target, return the maximum integer you can paint under the following rules:

The cost of painting a digit (i + 1) is given by cost[i] (0-indexed).
The total cost used must be equal to target.
The integer does not have 0 digits.

Since the answer may be very large, return it as a string. If there is no way to paint any integer given the condition, return "0".
 
Please complete the following python code precisely:
```python
class Solution:
    def largestNumber(self, cost: List[int], target: int) -> str:
```