# Check length of a string is equal to the number appended at its last

Given a string that (may) be appended with a number at last. You need to find whether the length of string excluding that number is equal to that number. For example for “helloworld10”, answer is True as helloworld consist of 10 letters. Length of String is less than 10, 000.

**Examples :**

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**

In case you wish to attend **live classes **with experts, please refer **DSA Live Classes for Working Professionals **and **Competitive Programming Live for Students**.

Input:str = "geeks5"Output:Yes Explanation : As geeks is of 5 length and at last number is also 5.Input:str = "geeksforgeeks15"Output:No Explanation: As geeksforgeeks is of 13 length and at last number is 15 i.e. not equal

Asked in: Codenation Interview

A **Naive approach **is to traverse from starting and retrieve the number from string and check if length of string – digits in the number = number or Not

An **efficient **method is to do following steps

- Traverse string from end and keep storing the number till it is smaller than the length of the overall string.
- If the number is equal to length of string except that number’s digits then return true.
- Else return false.

## C++

`// C++ program to check if size of string is appended` `// at the end or not.` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to find if given number is equal to` `// length or not` `bool` `isequal(string str)` `{` ` ` `int` `n = str.length();` ` ` `// Traverse string from end and find the number` ` ` `// stored at the end.` ` ` `// x is used to store power of 10.` ` ` `int` `num = 0, x = 1, i = n - 1;` ` ` `for` `(i = n - 1; i >= 0; i--) {` ` ` `if` `(` `'0'` `<= str[i] && str[i] <= ` `'9'` `) {` ` ` `num = (str[i] - ` `'0'` `) * x + num;` ` ` `x = x * 10;` ` ` `if` `(num>=n)` ` ` `return` `false` `;` ` ` `}` ` ` `else` ` ` `break` `;` ` ` `}` ` ` `// Check if number is equal to string length except` ` ` `// that number's digits` ` ` `return` `num == i + 1;` `}` `// Drivers code` `int` `main()` `{` ` ` `string str = ` `"geeksforgeeks13"` `;` ` ` `isequal(str) ? cout << ` `"Yes"` `: cout << ` `"No"` `;` ` ` `return` `0;` `}` |

## Java

`// Java program to check if size of` `// string is appended at the end or not.` `import` `java.io.*;` `class` `GFG {` ` ` `// Function to find if given number is` ` ` `// equal to length or not` ` ` `static` `boolean` `isequal(String str)` ` ` `{` ` ` `int` `n = str.length();` ` ` `// Traverse string from end and find the number` ` ` `// stored at the end.` ` ` `// x is used to store power of 10.` ` ` `int` `num = ` `0` `, x = ` `1` `, i = n - ` `1` `;` ` ` `for` `(i = n - ` `1` `; i >= ` `0` `; i--)` ` ` `{` ` ` `if` `(` `'0'` `<= str.charAt(i) &&` ` ` `str.charAt(i) <= ` `'9'` `)` ` ` `{` ` ` `num = (str.charAt(i) - ` `'0'` `) * x + num;` ` ` `x = x * ` `10` `;` ` ` `if` `(num>=n)` ` ` `return` `false` `;` ` ` `}` ` ` `else` ` ` `break` `;` ` ` `}` ` ` `// Check if number is equal to string` ` ` `// length except that number's digits` ` ` `return` `num == i + ` `1` `;` ` ` `}` ` ` `// Drivers code` ` ` `static` `public` `void` `main(String[] args)` ` ` `{` ` ` `String str = ` `"geeksforgeeks13"` `;` ` ` `if` `(isequal(str))` ` ` `System.out.println(` `"Yes"` `);` ` ` `else` ` ` `System.out.println(` `"No"` `);` ` ` `}` `}` `// This Code is contributed by vt_m.` |

## Python3

`# Python 3 program to check if size of` `# string is appended at the end or not.` `# Function to find if given number` `# is equal to length or not` `def` `isequal(` `str` `):` ` ` `n ` `=` `len` `(` `str` `)` ` ` `# Traverse string from end and` ` ` `# find the number stored at the end.` ` ` `# x is used to store power of 10.` ` ` `num ` `=` `0` ` ` `x ` `=` `1` ` ` `i ` `=` `n ` `-` `1` ` ` `for` `i ` `in` `range` `(n ` `-` `1` `, ` `-` `1` `,` `-` `1` `) :` ` ` `if` `(` `'0'` `<` `=` `str` `[i] ` `and` `str` `[i] <` `=` `'9'` `) :` ` ` `num ` `=` `(` `ord` `(` `str` `[i]) ` `-` `ord` `(` `'0'` `)) ` `*` `x ` `+` `num` ` ` `x ` `=` `x ` `*` `10` ` ` `if` `(num>` `=` `n):` ` ` `return` `false` ` ` ` ` `else` `:` ` ` `break` ` ` `# Check if number is equal to string` ` ` `# length except that number's digits` ` ` `return` `num ` `=` `=` `i ` `+` `1` `# Driver Code` `if` `__name__ ` `=` `=` `"__main__"` `:` ` ` ` ` `str` `=` `"geeksforgeeks13"` ` ` `print` `(` `"Yes"` `) ` `if` `isequal(` `str` `) ` `else` `print` `(` `"No"` `)` `# This code is contributed by ChitraNayal` |

## C#

`// C# program to check if size of` `// string is appended at the end or not.` `using` `System;` `class` `GFG {` ` ` `// Function to find if given number` ` ` `// is equal to length or not` ` ` `static` `bool` `isequal(` `string` `str)` ` ` `{` ` ` `int` `n = str.Length;` ` ` `// Traverse string from end and find the number` ` ` `// stored at the end.` ` ` `// x is used to store power of 10.` ` ` `int` `num = 0, x = 1, i = n - 1;` ` ` `for` `(i = n - 1; i >= 0; i--)` ` ` `{` ` ` `if` `(` `'0'` `<= str[i] && str[i] <= ` `'9'` `) {` ` ` `num = (str[i] - ` `'0'` `) * x + num;` ` ` `x = x * 10;` ` ` `if` `(num>=n)` ` ` `return` `false` `;` ` ` `}` ` ` `else` ` ` `break` `;` ` ` `}` ` ` `// Check if number is equal to string` ` ` `// length except that number's digits` ` ` `return` `num == i + 1;` ` ` `}` ` ` `// Drivers code` ` ` `static` `public` `void` `Main()` ` ` `{` ` ` `string` `str = ` `"geeksforgeeks13"` `;` ` ` `if` `(isequal(str))` ` ` `Console.WriteLine(` `"Yes"` `);` ` ` `else` ` ` `Console.WriteLine(` `"No"` `);` ` ` `}` `}` `// This Code is contributed by vt_m.` |

## PHP

`<?php` `// PHP program to check if size` `// of string is appended at` `// the end or not.` `// Function to find if given` `// number is equal to length or not` `function` `isequal(` `$str` `)` `{` ` ` `$n` `= ` `strlen` `(` `$str` `);` ` ` `// Traverse string from end` ` ` `// and find the number stored` ` ` `// at the end. x is used to` ` ` `// store power of 10.` ` ` `$num` `= 0; ` `$x` `= 1; ` `$i` `= ` `$n` `- 1;` ` ` `for` `(` `$i` `= ` `$n` `- 1; ` `$i` `>= 0; ` `$i` `--)` ` ` `{` ` ` `if` `(` `'0'` `<= ` `$str` `[` `$i` `] &&` ` ` `$str` `[` `$i` `] <= ` `'9'` `)` ` ` `{` ` ` `$num` `= (` `$str` `[` `$i` `] - ` `'0'` `) *` ` ` `$x` `+ ` `$num` `;` ` ` `$x` `= ` `$x` `* 10;` ` ` `if` `(` `$num` `>=` `$n` `)` ` ` `return` `false;` ` ` `}` ` ` `else` ` ` `break` `;` ` ` `}` ` ` `// Check if number is equal` ` ` `// to string length except` ` ` `// that number's digits` ` ` `return` `$num` `== ` `$i` `+ 1;` `}` `// Driver code` `$str` `= ` `"geeksforgeeks13"` `;` `if` `(isequal(` `$str` `))` `echo` `"Yes"` `;` `else` `echo` `"No"` `;` `return` `0;` `// This code is contributed by nitin mittal.` `?>` |

## Javascript

`<script>` `// Javascript program to check if size of` `// string is appended at the end or not.` `// Function to find if given number is` `// equal to length or not` `function` `isequal(str)` `{` ` ` `let n = str.length;` ` ` `// Traverse string from end and find` ` ` `// the number stored at the end.` ` ` `// x is used to store power of 10.` ` ` `let num = 0, x = 1, i = n - 1;` ` ` `for` `(i = n - 1; i >= 0; i--)` ` ` `{` ` ` `if` `(` `'0'` `<= str[i] &&` ` ` `str[i] <= ` `'9'` `)` ` ` `{` ` ` `num = (str[i] - ` `'0'` `) * x + num;` ` ` `x = x * 10;` ` ` ` ` `if` `(num >= n)` ` ` `return` `false` `;` ` ` `}` ` ` `else` ` ` `break` `;` ` ` `}` ` ` `// Check if number is equal to string` ` ` `// length except that number's digits` ` ` `return` `num == i + 1;` `}` `// Driver code` `let str = ` `"geeksforgeeks13"` `;` `if` `(isequal(str))` ` ` `document.write(` `"Yes"` `);` `else` ` ` `document.write(` `"No"` `);` `// This code is contributed by rag2127` `</script>` |

**Output :**

Yes

This article is contributed by **Sahil Chhabra (akku)**. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.