Sherlock and the Valid String

  • + 0 comments

    Python Solution using a dictionary:

    def isValid(s):
        # Write your code here
        stringDict={}
        
        for letter in s:
            stringDict[letter]= stringDict.get(letter,0) + 1 
        dictValues= list(stringDict.values())
        isRemovedOne=False
        for i in range(1,len(dictValues)):
            diff= abs(dictValues[i]- dictValues[i-1])
            if  diff == 0:
                continue
            else:
                if not isRemovedOne:
                    isRemovedOne=True
                    dictValues[i]-=1
                else:
                    return "NO"
        return "YES"