Removing elements between the two zeros

Given an integer N which shows the size of the string and in the next line given a string which contains a string of character with only zero and one. The task is to remove a single character each time that comes in between the two zero characters.
During each turn, only one character from the string will be removed that satisfies the following condition :
- It must be surrounded by zeroes on both sides.
Examples:
Input : str = “1001
Output : str = “1001”Input : str = “10101
Output : str = “1001”
Use a loop from 1 to N – 1 and check if any element lies between two zeros such that s[i – 1] = ‘0’ and s[i + 1] = ‘0’. If the condition is satisfied then, delete the character at that position, ad start searching for patterns again.
C++
// C++ program to delete elements between zeros#include <bits/stdc++.h>using namespace std;// Function to find the string // after operationstring findstring(string s){ int n = s.length(); // Traversing through string for (int i = 1; i < n - 1; i++) { // Checking for character // Between two zeros if ((s.at(i - 1) == '0' && s.at(i + 1) == '0')) { // deleting the character // At specific position s.erase(i, 1); i--; if (i > 0 && s.at(i - 1) == '0') i--; // updating the length // of the string n = s.length(); } } return s;} // Drivers codeint main() { cout << findstring("100100"); return 0;} |
Java
// Java program to delete elements between zerosimport java.util.*;public class GFG { // Function to find the string // after operation static String findstring(String s) { int n = s.length(); // use for loop to remove the // character between two zeros for (int i = 1; i < n - 1; i++) { // Checking for character // Between two zeros if ((s.charAt(i - 1) == '0' && s.charAt(i + 1) == '0')) { // deleting the character // At specific position s = s.substring(0, i) + s.substring(i + 1); i--; if (i > 0 && s.charAt(i - 1) == '0') i--; // updating the length // of the string n = s.length(); } } return s; } // Driver code public static void main(String[] args) { String s="100100"; System.out.println(findstring(s)); }} |
Python3
# Python3 program to delete elements# between zeros# Function to find the string# after operationdef findstring(s): n = len(s) s = list(s) i = 1 # Traversing through string while i < n - 1: # Checking for character # Between two zeros if (s[i - 1] == '0' and s[i + 1] == '0'): # Deleting the character # At specific position s.pop(i) i -= 1 if i > 0 and s[i - 1] == '0': i -= 1 # Updating the length # of the string n = len(s) i += 1 return ''.join(s)# Driver codeif __name__ == '__main__': print (findstring('100100'))# This code is contributed by rutvik_56 |
C#
// C# program to delete // elements between zerosusing System;class GFG{ // Function to find the // string after operation static string findstring(string s) { int n = s.Length; string st = ""; // Traversing through string for (int i = 1; i < n - 1; i++) { // Checking for character // Between two zeros if ((s[i - 1] == '0' && s[i + 1] == '0')) { // deleting the character // At specific position st = s.Remove(i, 1); s = st; i--; if (i > 0 && s[i - 1] == '0') i--; // updating the length // of the string n = s.Length; } } return s; } // Driver code static void Main() { Console.Write(findstring("100100")); }}// This code is contributed by // Manish Shaw(manishshaw1) |
Javascript
<script>// JavaScript program to delete elements// between zeros// Function to find the string// after operationfunction findstring(s){ let n = s.length s = s.split('') let i = 1 // Traversing through string while(i < n - 1){ // Checking for character // Between two zeros if (s[i - 1] == '0' && s[i + 1] == '0'){ // Deleting the character // At specific position s.splice(i,1); i -= 1 if(i > 0 && s[i - 1] == '0') i -= 1 // Updating the length // of the string n = s.length } i += 1 } return s.join('')}// Driver codedocument.write(findstring('100100'),"</br>")// This code is contributed by shinjanpatra</script> |
100
Time Complexity: O(N2), where N is the size of the input string and using erase function to delete the value in the string.
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



