If all decimal numbers are concatenated in a string then we will get a string which looks like string P as shown below. We need to tell Nth character of this string.
P = “12345678910111213141516171819202122232425262728293031….”
N = 10 10th character is 1 N = 11 11th character is 0 N = 50 50th character is 3 N = 190 190th character is 1
We can solve this problem by break-ing the string length-wise. We know that in decimal 9 numbers are of length 1, 90 numbers are of length 2, 900 numbers are of length 3 and so on, so we can skip these numbers according to the given N and can get the desired character.
Processing for N = 190 is explained below, P[184..195] = “979899100101” First getting length of number at N, 190 – 9 = 181 number length is more than 1 181 – 90*2 = 1 number length is more than 2 1 – 900*3 < 0 number length is 3 Now getting actual character at N, 1 character after maximum 2 length number(99) is, 1 Processing for N = 251 is explained below, P[250..255] = “120121” First getting length of number at N, 251 - 9 = 242 number length is more than 1 242 – 90*2 = 62 number length is more than 2 62 – 900*3 < 0 number length is 3 Now getting actual character at N, 62 characters after maximum 2 length number(99) is, Ceil(62/3) = 21, 99 + 21 = 120 120 is the number at N, now getting actual digit, 62%3 = 2, 2nd digit of 120 is 2, so our answer will be 2 only.
Please see below code for better understanding,
This article is contributed by Utkarsh Trivedi. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.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.
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- Print Kth character in sorted concatenated substrings of a string
- Generate a string whose all K-size substrings can be concatenated to form the given string
- Concatenated string with uncommon characters in Python
- Concatenated string with uncommon characters of two strings
- Maximum Consecutive Zeroes in Concatenated Binary String
- Print the final string when minimum value strings get concatenated in every operation
- Modify the string such that every character gets replaced with the next character in the keyboard
- Find a string such that every character is lexicographically greater than its immediate next character
- Replace every character of string by character whose ASCII value is K times more than it
- Check if frequency of character in one string is a factor or multiple of frequency of same character in other string
- Replace all occurrences of character X with character Y in given string
- Map every character of one string to another such that all occurrences are mapped to the same character
- Replace every character of a string by a different character
- Lexicographically smallest string formed by appending a character from first K characters of a string | Set 2
- Lexicographically smallest string formed by appending a character from the first K characters of a given string
- Find the character in first string that is present at minimum index in second string
- Queries to find the last non-repeating character in the sub-string of a given string
- Convert the string into palindrome string by changing only one character.
- Queries to find the first non-repeating character in the sub-string of a string
- Number of substrings with odd decimal value in a binary string
Improved By : Mithun Kumar