大致思路
利用字典dict数据结构,将字符串中的字符与该字符出现的次数建立一一对应的映射关系,通过遍历字符串检视每一字符出现的次数来决定生成新字符的内容
代码
# -*- coding: utf-8 -*-
"""
Kata Duplicate Encoder
Created on Sat Nov 21 10:11:07 2020
@author: Pray
"""
def duplicate_encode(word):
#your code here
newword=[] #建立一个列表存储新字符串的各个字符
d = dict() #建立一个字典,用于存储原字符串中各字符与其出现次数的映射关系
word = word.lower() #由于在该题中,认为大写字母和小写字母不加区分,所以我们将原字符串全部转换为小写
# =============================================================================
# 遍历原字符串,建立字符串与其出现次数的映射关系
# =============================================================================
for x in word:
if x not in d.keys():
d[x] = 1
else:
d[x] = d[x] + 1
# =============================================================================
# 生成新字符串
# =============================================================================
for i in word:
if(d[i] > 1):
newword.append(')')
else:
newword.append('(')
newword = ''.join(newword) #将字符列表拼接成字符串
return newword