알파벳 소문자로만 이루어진 어떤 문자열에서, 2회 이상 나타난 알파벳이 2개 이상의 부분으로 나뉘어 있으면 외톨이 알파벳이라고 정의합니다.
ede(aaa)bbccd
e(d)eaaabbcc(d)
"(ee)dd(ee)"
문자열 input_string이 주어졌을 때, 외톨이 알파벳들을 알파벳순으로 이어 붙인 문자열을 return 하도록 solution 함수를 완성해주세요.
만약, 외톨이 알파벳이 없다면 문자열 "N"을 return 합니다.
import collections
def isDisconnect(input_string, idx):
length = len(input_string)
s = input_string[idx]
idx += 1
while idx < length and s == input_string[idx]: # 처음 문자 묶음 제거
idx += 1
li = input_string[idx:]
if s in li:
return 1
return 0
def isSolo(input_string):
dict = {}
i = 0
length = len(input_string)
while i < length:
if input_string[i] not in dict.keys():
idx = isDisconnect(input_string, i)
if idx == 1:
dict[input_string[i]] = 1
i += 1
return dict
def solution(input_string):
dict = isSolo(input_string)
answer = "".join(sorted(dict.keys()))
if answer == "":
answer = "N"
return answer
print(solution("eeddee"))