मान लीजिए कि हमारे पास 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