# 811\. Subdomain Visit Count
```python=
class Solution:
def subdomainVisits(self, cpdomains: List[str]):
dict_ = {}
for item in cpdomains:
count, domain_str = item.split(' ')
domain_list = domain_str.split('.')
key = domain_list[-1] # highest domain name
if key not in dict_:
dict_[key] = 0
dict_[key] += int(count)
for ele in domain_list[-2::-1]:
key = ele + '.' + key
if key not in dict_:
dict_[key] = 0
dict_[key] += int(count)
res = []
for key in dict_:
res.append(str(dict_[key])+' '+key)
return res
class Solution:
def subdomainVisits(self, cpdomains: List[str]):
counter = Counter()
for number_domain_pair in cpdomains:
number, domain_string = number_domain_pair.split() # defautl as ' '
number = int(number) # need to ask if legal string for int()
segments = domain_string.split('.')
for i in range(len(segments)):
# even if we grow one by one, will not be faster
# python string immutable
domain = '.'.join(segments[i:]) # N^2, N is tot num fo chars
counter[domain] += number
result = []
for domain, count in counter.items():
result.append(str(count) + ' ' + domain)
return result
```