문제 링크 - https://school.programmers.co.kr/learn/courses/15008/lessons/121683?language=python3
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
알파벳 소문자로만 이루어진 문자열이 주어짐
해당 문자열 중 같지만 바로 옆에 붙어있지 않은 알파벳이 존재하는 경우 '외톨이 알파벳'으로 간주
외톨이 알파벳으로 이루어지고 알파벳 순으로 정렬된 새로운 문자열을 출력
풀이법 구상
반복문으로 각 자리의 글자를 대상으로 다른 똑같은 글자가 존재하는지 확인
단, 기준 글자의 바로 옆에 똑같은 다른 글자가 존재하는 경우 기준 인덱스 += 1 -> 그냥 바로 다음 글자로 넘어간다는 의미
기준 인덱스로부터 2자리 이상 떨어진 경우 외톨이 알파벳으로 간주
코드 구현 (파이썬 사용)
def solution(input_string):
answer = ''
for p in range(0,len(input_string)):
if input_string[p] in answer: continue
for q in range(p+1,len(input_string)):
if input_string[p] == input_string[q]:
if ((q-p) == 1): break
elif ((q-p) > 1):
answer += input_string[p]
break
if len(answer) == 0 : return 'N'
else: return ''.join(sorted(answer))
'Problem Solving' 카테고리의 다른 글
[백준] 'N과 M (1)' 문제 풀이 (0) | 2024.01.29 |
---|---|
[프로그래머스] '타겟 넘버' 문제 풀이 (1) | 2024.01.27 |
[프로그래머스] '평행' 문제풀이 (0) | 2024.01.26 |
[백준] '등수 매기기' 문제 풀이 (1) | 2024.01.26 |
[프로그래머스/SQL] '상품 별 오프라인 매출 구하기' 문제 풀이 (1) | 2024.01.26 |