문제 설명
•
주어진 문자열에서 2회 이상 나타나는 알파벳 중 여러 구간에 나뉘어 나타나는 알파벳들을 찾아 알파벳 순으로 이어 붙인 문자열을 반환하고, 없으면 "N"을 반환하는 문제
예제 입력/출력
input_string | result |
"edeaaabbccd" | "de" |
"eeddee" | "e" |
"string" | "N" |
"zbzbz" | "bz" |
제약 조건
•
input_string의 길이
문제 풀이
풀이 브루트 포스 - 상한
풀이 코드
def solution(input_string):
seen = set()
ans = set()
prev_c = input_string[0]
seen.add(prev_c)
for i in range(1, len(input_string)):
c = input_string[i]
if c != prev_c and c in seen:
ans.add(c)
seen.add(c)
prev_c = c
return "".join(sorted(ans)) if ans else "N"
Python
복사