aboutsummaryrefslogtreecommitdiff
path: root/challenge-282/deadmarshal/cpp/ch-1.cpp
diff options
context:
space:
mode:
authordeadmarshal <adeadmarshal@gmail.com>2024-08-13 10:14:31 +0330
committerdeadmarshal <adeadmarshal@gmail.com>2024-08-13 10:14:31 +0330
commit1ed5f4218d591921274087ec0feeb402e91201d4 (patch)
tree01b919f2703d4ff37c21550096010da98f5ab413 /challenge-282/deadmarshal/cpp/ch-1.cpp
parent6bc37eb88f4850e1f6fc02a038163fb382f296dc (diff)
downloadperlweeklychallenge-club-1ed5f4218d591921274087ec0feeb402e91201d4.tar.gz
perlweeklychallenge-club-1ed5f4218d591921274087ec0feeb402e91201d4.tar.bz2
perlweeklychallenge-club-1ed5f4218d591921274087ec0feeb402e91201d4.zip
TWC282
Diffstat (limited to 'challenge-282/deadmarshal/cpp/ch-1.cpp')
-rw-r--r--challenge-282/deadmarshal/cpp/ch-1.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/challenge-282/deadmarshal/cpp/ch-1.cpp b/challenge-282/deadmarshal/cpp/ch-1.cpp
new file mode 100644
index 0000000000..70b7c1737f
--- /dev/null
+++ b/challenge-282/deadmarshal/cpp/ch-1.cpp
@@ -0,0 +1,28 @@
+#include<iostream>
+#include<string>
+
+template<typename T>
+std::string good_integer(T n)
+{
+ std::string str = std::to_string(n);
+ char prev = '\0';
+ std::size_t seen{};
+ for(std::size_t i = 0; i < str.size(); ++i){
+ if(prev == str[i]) seen++;
+ else if(seen == 3) return std::string(3,prev);
+ else {
+ prev = str[i];
+ seen = 1;
+ }
+ }
+ return "-1";
+}
+
+int main()
+{
+ std::cout << good_integer<int>(12344456) << '\n'
+ << good_integer<int>(1233334) << '\n'
+ << good_integer<int>(10020003) << '\n';
+ return 0;
+}
+