Jeremiah_

1487. Making File Names Unique - LeetCode

Jun 27th, 2020
1,321
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.02 KB | None | 0 0
  1. from collections import Counter
  2. class Solution:
  3.     def get_new_number(self, name):
  4.         num = ''
  5.         for i in name[::-1]:
  6.             if i == '(':
  7.                 break
  8.             if i != ')':
  9.                 num = num+i
  10.         return int(num)+1, len(num)
  11.    
  12.     def getFolderNames(self, names: List[str]) -> List[str]:
  13.        
  14.         ans = Counter()
  15.         ans[names[0]] = 0
  16.        
  17.         # pes pes(1) pes(2) pes pes
  18.         for name in names[1:]:
  19.             new_num = 0
  20.             new_name = name
  21.             if new_name in ans:
  22.                 new_name = name + '('+str(ans[name]+1)+')'
  23.                 new_num = ans[name]+1
  24.                
  25.                 while new_name in ans:
  26.                     new_num, num_len = self.get_new_number(new_name)
  27.                    
  28.                     new_name = new_name[:-1-num_len] + str(new_num) + ')'
  29.                
  30.                 ans[new_name] = 0
  31.            
  32.             ans[name] = new_num
  33.            
  34.        
  35.         return list(ans)
Advertisement
Add Comment
Please, Sign In to add comment