형들좀도와주세요string compression

string compression란 문제인데 입력AAABBBBDDDDDDD
출력 3A4B7D대충이런식으로 나오는건데저가한번 짜봣는데여기서 만약에 AAACBBBDDDDDD 이렇게 입력이되면3A1C3B6D 가되는데 여기서 C의 1이사라지게해야하는데 C는 차피 1개니까 표시할필요가없으니까 없애줄려면어떻게하나요3AC3B6D
#include stdio.h#include string.hvoid main(){FILE *fp=fopen(input.txt,r); FILE *fp_out=fopen(output.txt,w);int cnt,i,count=1;char ch[100],temp;fscanf(fp,%s,ch);cnt=strlen(ch);temp=ch[0];for(i=1;icnt+1;i++) { if(ch[i]==temp) { count++; } else { fprintf(fp_out,%d%c,count,ch[i-1]); count=1; temp=ch[i]; }}
}

댓글 1

  • By은지 2026.10.14

    count 가 1일경우 문자만 출력한다. 라는 논리를 성립시키면됨

프로그램 개발일반 다른 글

목록