https://school.programmers.co.kr/learn/courses/14760/lessons/125483
알파벳 소문자로만 이루어진 어떤 문자열에서, 2회 이상 나타난 알파벳이 2개 이상의 부분으로 나뉘어 있으면 외톨이 알파벳이라고 정의합니다.
문자열 "edeaaabbccd"를 예시로 들어보면,
1) a는 2회 이상 나타나지만, 하나의 덩어리로 뭉쳐있으므로 외톨이 알파벳이 아닙니다.
2) d는 2회 나타나면서, 2개의 부분으로 나뉘어 있으므로 외톨이 알파벳입니다.
제한사항 및 입출력 예
def solution(input_string):
answer = ''
str_list = [input_string[0]]
for i in input_string:
if i != str_list[-1]: # 한 문자가 연속적으로 나타난 경우 제거
str_list.append(i)
ans = set(str_list)
ans = sorted(ans) # ans 딕셔너리를 알파벳 순으로 정렬함
for i in ans:
cnt = 0
for j in str_list:
if i == j:
cnt += 1
if cnt > 1:
answer += i
if answer == '':
answer += 'N'
return answer
실행 결과