== 해제 == {{{~cpp #include using namespace std; int main() { char Str[100000]={0}; cin >> Str; int a; int count=0; int i=0; int b; int c=0; while(true) { b=Str[count]; if (b==0) break; while(true) { b= Str[count]; if( b<'0' || '9'=b) c = c*10 + (b-'0'); count++; } a= c; for (i=0; i using namespace std; int main() { char Str[20]={0}; cin >> Str; char FM; FM= Str[0]; cout << FM; int i=0; while(true) { if(Str[i]==0) break; cout << Str[i]-FM; i++; } cout <<"\n"; return 0; } }}} == DPCM 해제 == {{{~cpp #include using namespace std; int main() { char Str[20]={0}; cin >> Str; char FM; FM= Str[0]; int i=1; while(true) { if(Str[i]==0) break; if(Str[i]=='-') { cout << (char) (FM-(Str[i+1]-'0')); i++; } else cout << (char) (Str[i]-'0'+FM); i++; } return 0; } }}} == ADPCM 압축 == {{{~cpp #include using namespace std; int main() { char Str[20]={0}; cin >> Str; char FM; FM= Str[0]; cout << FM; int i=0; while(true) { if(Str[i]==0) break; if(Str[i]-FM>=10) { FM=Str[i]; cout << FM; } cout << Str[i]-FM; i++; } return 0; } }}} == ADPCM 해제 == {{{~cpp #include using namespace std; int main() { char Str[20]={0}; cin >> Str; char FM; FM= Str[0]; int i=1; while(true) { if(Str[i]==0) break; if(Str[i]=='-') { cout << (char) (FM-(Str[i+1]-'0')); i++; } else if('A'<=Str[i] && Str[i]<='Z') FM=Str[i]; else cout << (char) (Str[i]-'0'+FM); i++; } return 0; } }}}