मान लीजिए कि हमारे पास n अंकों के साथ एक स्ट्रिंग S है। ठीक 11 अंकों वाली संख्या एक टेलीफोन नंबर होती है, यदि वह '8' से शुरू होती है। एक ऑपरेशन में, हम S से एक अंक हटा सकते हैं। हमें यह जांचना होगा कि हम स्ट्रिंग को एक वैध फ़ोन नंबर बना सकते हैं या नहीं।
इसलिए, यदि इनपुट S ="5818005553985" जैसा है, तो आउटपुट ट्रू होगा, क्योंकि हम स्ट्रिंग "8005553985" को 11 वर्णों के साथ बना सकते हैं और पहला अंक 8 है।
कदम
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
m := size of S insert '8' at the end of S if if location of 8 <= (m - 11), then: return true return falseलौटाएं
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -
#include <bits/stdc++.h> using namespace std; bool solve(string S){ int m = S.size(); S.push_back('8'); if ((int(S.find('8')) <= (m - 11))) return true; return false; } int main(){ string S = "5818005553985"; cout << solve(S) << endl; }
इनपुट
"5818005553985"
आउटपुट
1