미 단 은 2020 학교 모집 시험 방향 필기시험 문 제 를 평가 하 였 다.

문자 삭제
시간 제한: C / C + + 1 초, 기타 언어 2 초
공간 제한: C / C + + 256 M, 기타 언어 512 M
주어진 문자열 을 규칙 에 따라 문 자 를 삭제 하고 삭 제 된 문자열 을 출력 합 니 다.삭제 규칙 은 같은 문자 가 연속 되면 삭 제 됩 니 다. 예 를 들 어 'aaaab' 가 삭 제 된 문자열 은 'b' 입 니 다.주: 하나의 문자 만 연속 으로 삭제 합 니 다. 예 를 들 어 babababa 는 삭제 할 수 없습니다.
입력 설명: 입력 데 이 터 는 여러 그룹 이 있 고 각 줄 마다 숫자 와 영문 자모 만 포함 하 며 전의 등 다른 특수 문자 가 포함 되 지 않 으 며 입력 데이터 의 최대 길 이 는 10 입 니 다.
출력 설명: 모든 테스트 인 스 턴 스 에 대해 규칙 에 따라 삭 제 된 데 이 터 를 출력 해 야 합 니 다. 모든 테스트 인 스 턴 스 의 출력 은 한 줄 을 차지 합 니 다.삭제 후 문자 가 있 으 면 삭 제 된 문 자 를 직접 출력 합 니 다.삭제 후 비어 있 으 면 "no" 를 출력 합 니 다.
입력 예 1: aaaaabbbb
출력 예 1: a no
사고방식: 첫 번 째, 마지막 문자 와 중간 문자 분리 토론
if input_str[i - 1] != input_str[i] and input_str[i + 1] != input_str[i]:
                result = result + input_str[i]

i 가 1 부터 len () - 1 까지 두 번 째 문자 부터 마지막 두 번 째 문자 까지 만 판단 하고 첫 번 째 와 마지막 하 나 는 판단 하지 않 았 다.
while True:
    try:
        input_str = input()
        result = ""
        for i in range(len(input_str)):
            if len(input_str) == 1:
                result = input_str
                break
            if i == 0:
                if input_str[i + 1] != input_str[i]:
                    result = result + input_str[i]
            elif i == len(input_str) - 1:
                if input_str[i - 1] != input_str[i]:
                    result = result + input_str[i]
            else:
                if input_str[i - 1] != input_str[i] and input_str[i + 1] != input_str[i]:
                    result = result + input_str[i]
        if len(result) == 0:
            print("no")
        else:
            print(result)
    except:
        break

입력 문제 에 주의 하여 try 를 제거 합 니 다.

좋은 웹페이지 즐겨찾기