yangsec888

Sherlock Valid String

May 13th, 2020
378
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.95 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. # https://www.hackerrank.com/interview/interview-preparation-kit/strings/challenges
  3. import math
  4. import os
  5. import random
  6. import re
  7. import sys
  8.  
  9. # Complete the isValid function below.
  10. def isValid(s):
  11.     d,c=dict(),dict()
  12.     for i in s:
  13.         if i in d:
  14.             d[i]+=1
  15.         else:
  16.             d[i]=1
  17.     #print("d:",d)
  18.     for j in list(d.values()):
  19.         c[j] = c.get(j,0)+1
  20.     #print("c:",c)
  21.     n = len(c)
  22.     if n == 1:
  23.         return "YES"
  24.     elif n==2:
  25.         pre_k=0
  26.         for k,v in c.items():
  27.             if k==1 and v==1:
  28.                 return "YES"
  29.             elif v==1:
  30.                 if k-pre_k==1:
  31.                     return "YES"
  32.             else:
  33.                 pre_k=k
  34.     return "NO"
  35.  
  36. if __name__ == '__main__':
  37.     fptr = open(os.environ['OUTPUT_PATH'], 'w')
  38.  
  39.     s = input()
  40.  
  41.     result = isValid(s)
  42.     print(result)
  43.     fptr.write(result + '\n')
  44.  
  45.     fptr.close()
Add Comment
Please, Sign In to add comment