[6 kyu] Duplicate Encoder

The goal of this exercise is to convert a string to a new string where each character in the new string is “(” if that character appears only once in the original string, or “)” if that character appears more than once in the original string. Ignore capitalization when determining if a character is a duplicate.

Examples

"din"      =>  "((("
"recede"   =>  "()()()"
"Success"  =>  ")())())"
"(( @"     =>  "))((" 

Notes:
Assertion messages may be unclear about what they display in some languages. If you read “…It Should encode XXX”, the “XXX” is the expected result, not the input!

Solution :

def duplicate_encode(word):
    result = ""
    word = word.lower()
    count_dict = {}
    for letter in word:
        if letter in count_dict:
            count_dict[letter] = count_dict[letter] + 1
        else:
            count_dict[letter] = 1
    for item in word:
        if count_dict[item] >= 2:
            result += ")"
        else:
            result += "(" 
    return result
    #your code here
发布了16 篇原创文章 · 获赞 0 · 访问量 49

猜你喜欢

转载自blog.csdn.net/HM_773_220/article/details/104764270