=== 압축1 === {{{~cpp #include #include #include using namespace std; void main() { ifstream fin("input.txt"); ofstream fout("output.txt"); char temp = NULL; int number = 0; string pass; fin >> pass; for(int i = 0;pass[i];i++) { if(pass[i] != temp) { if(i!=0) fout << number << temp; temp = pass[i]; number = 1; } else { number ++; } } fout << number << temp; } }}} === 압축2 === {{{~cpp #include #include #include using namespace std; void main() { ifstream fin("input.txt"); ofstream fout("output.txt"); char temp = NULL; int number; string pass; fin >> pass; for(int i = 0;pass[i];i++) { if(i==0) temp = pass[i]; else { pass[i] = (temp-pass[i])+48; if(pass[i] < 48 ) { number = pass[i] - 48; fout << number; continue; } } fout << pass[i]; } } }}} === 해제1 === {{{~cpp #include #include #include using namespace std; void main() { ifstream fin("output.txt"); ofstream fout("input.txt"); int decimal; int num; char pass[20]; fin >> pass; int length = strlen(pass); for(int i = (length-1); i < 0; i--) { if(isalpha(pass[i])) { decimal = 1; num = (pass[i] - 48) * decimal; decimal *= 10; else dacimal } }}} === 해제2 === {{{~cpp #include #include #include using namespace std; void main() { ifstream fin("output.txt"); ofstream fout("input.txt"); char temp = NULL; string pass; fin >> pass; for(int i = 0;pass[i];i++) { if(i==0) temp = pass[i]; else { if(pass[i] == 45) { i++; pass[i] = temp+(pass[i]-48); } else pass[i] = temp-(pass[i]-48); } fout << pass[i]; } } }}}