블 루 브리지 컵 알고리즘 문자열 압축 향상 (c 언어 판 상세 설명)

시험 알고리즘 문자열 압축 향상
                                                                                  블 루 브리지 컵 시험 문제 풀이 링크
자원 제한
       시간 제한: 1.0s 메모리 제한: 256.0MB
문제 설명
       프로그램 을 만 들 고 문자열 을 입력 한 다음 이 문자열 의 모든 문 자 를 압축 합 니 다. (1) 이 문자 가 빈 칸 이 라면 이 문 자 를 유지 합 니 다.(2) 이 문자 가 처음 나타 나 거나 세 번 째 나타 나 거나 여섯 번 째 나타 나 면 이 문 자 를 보류 합 니 다.(3) 그렇지 않 으 면 이 문 자 를 삭제 합 니 다.예 를 들 어 사용자 가 'occurrence' 를 입력 하면 압축 을 거 친 후에 문자 c 의 두 번 째 출현 은 삭제 되 고 첫 번 째 와 세 번 째 출현 은 보류 된다.문자 r 와 e 의 두 번 째 출현 은 모두 삭제 되 었 기 때문에 마지막 결 과 는 'ocurenc' 입 니 다.입력 형식: 원본 문자열 인 한 줄 만 입력 하 십시오.출력 형식: 출력 은 압축 된 문자열 의 한 줄 만 있 습 니 다.
샘플 입력
occurrence

샘플 출력
ocurenc

코드
#include
#include
int main(){
     
	char  a[100];//     
	int b[100],i,j;//  b             
	gets(a);//   gets           
	memset(b,0,sizeof(b));//     b
	for(i=strlen(a)-1;i>=0;i--){
     //           +1
		for(j=i;j>=0;j--){
     //          
			if(a[i]==a[j]){
     
				b[i]++;
			}
		}
	}
	for(i=0;i<strlen(a);i++){
     
		if(b[i]==1||b[i]==3||b[i]==6||a[i]==' '){
     //   1,3,6        
			printf("%c",a[i]);
		}
	}
	return 0;
}

좋은 웹페이지 즐겨찾기