🚩 코딩테스트/알고리즘
[프로그래머스] [PCCP 모의고사 #1] 외톨이 알파벳
딩딩크롱
2023. 2. 18. 18:12
728x90
문제
https://school.programmers.co.kr/learn/courses/15008/lessons/121683
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
input_string
의 맨 뒤에 공백을 추가합니다.
Counter()
를 사용하여 알파벳의 종류를 구합니다.
check
는 defaultdict()
를 사용해 앞서 체크했는지 여부를 저장합니다.
문자열의 앞뒤를 확인해 서로 다른 경우
아직 체크하지 않은 문자라면 체크하고, 이미 체크한 문자라면 answer
에 해당 문자를 추가합니다.
중복을 제거한 answer
를 정렬한 후 join()
을 사용해 반환합니다.
코드
파이썬
from collections import Counter, defaultdict
def solution(input_string):
answer = []
input_string += ' '
count = Counter(input_string)
check = defaultdict(bool)
n = len(input_string)
for i in range(n-1):
if input_string[i] != input_string[i+1]:
if not check[input_string[i]]:
check[input_string[i]] = True
else:
answer.append(input_string[i])
return ''.join(sorted(list(set(answer)))) if answer else 'N'
728x90