[프로그래머스] PCCP 모의고사 1회 1번

JinUk Lee·2022년 12월 27일
0

프로그래머스

목록 보기
1/47

https://school.programmers.co.kr/learn/courses/15008/15008-pccp-%EB%AA%A8%EC%9D%98%EA%B3%A0%EC%82%AC-1%ED%9A%8C

정답


#input = edeaaabbccd

def solution(input_string):
    check_alp = sorted(list(set(sorted(list(input_string)))))
    check_list = []
    answer = ''
    for i in check_alp:
        j_index = []
        for j in range(len(input_string)):
            if i == input_string[j]:
                j_index.append(j)

        check_list.append(j_index)

    for i in range(len(check_list)):
        if len(check_list[i]) > 1:
            if check_list[i][-1] - check_list[i][0] >= len(check_list[i]):
                answer += check_alp[i]
    if answer == '':
        answer = 'N'

    return answer

결과

check_alp = 알파벳을 정렬, 중복 제거한 리스트이다.
이 리스트 원소를 꺼내서 input_string에 동일한 원소가 있는지 체크하고, 있다면 그 인덱스번호를 리스트에 저장하여 리스트를 check_list 에 입력한다.

마지막으로 check_list 에서 외톨이알파뱃이 아니라면 (같은 알파벳끼리 연속으로 붙어있음) 가장 큰 인덱스에서 가장 작은 인덱스를 뺄 경우 알파뱃 갯수보다 작으므로
(3,4,5같은 경우 갯수는 3개지만 5에서 3을 빼면 2이다.)

그 반대를 생각해서 정답에 더해준다.

profile
개발자 지망생

0개의 댓글