| Task: | Merkkijono |
| Sender: | removed859 |
| Submission time: | 2017-10-07 11:14:29 +0300 |
| Language: | C++ |
| Status: | SKIPPED |
Compiler report
input/code.cpp: In function 'std::string d(std::string)':
input/code.cpp:8:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int i = 0; i < l; i++) {
^
input/code.cpp:15:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int j = 1; i + j < l; j++) {
^Code
#include <iostream>
#include <string>
std::string d(std::string s) {
unsigned l = s.length(); // length of the string // counter
// iterate over the string
for (int i = 0; i < l; i++) {
l = s.length();
if (l <= 1) {
return s;
}
int c = 1;
// increment counter for every identical consecutive character, counter starts at 1 to include the character at i
for (int j = 1; i + j < l; j++) {
if (s.at(i) == s.at(i + j)) {
c++;
}
else {
break;
}
}
if (c > 1) {
s.erase(i, c); // erase c characters starting at index i
i = -1; // i will be incremented to 0 when the loop starts again
}
}
return s;
}
int main() {
std::string s;
std::cin >> s;
std::cout << d(s);
return 0;
}