สมมติว่าเรามีสตริง S n หลัก หมายเลข 11 หลักเป็นเบอร์โทรถ้าเริ่มต้นด้วย '8' ในหนึ่งการดำเนินการ ลบหนึ่งหลักจาก S ได้ ตรวจสอบว่าทำให้ S เป็นเบอร์โทรถูกต้องได้หรือไม่
เช่น ถ้าอินพุตคือ S = "5818005553985" เอาต์พุตจะเป็น True เพราะทำเป็น "8005553985" 11 หลัก ตัวแรกคือ 8
ขั้นตอนการแก้ปัญหา
m := ขนาดของ S
ใส่ '8' ท้าย S
if ตำแหน่งของ 8 <= (m - 11):
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