View Code of Problem 609

import java.util.Scanner;
import java.util.Stack;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scanner=new Scanner(System.in);
		while(scanner.hasNext()) {
			String s=scanner.next();
			int n=Integer.parseInt(scanner.next());
			Stack<Character> stack=new Stack<>();
			boolean isZero=false;
			for(char c:s.toCharArray()) {
				while(!stack.isEmpty()&&n>0&&stack.peek()>c) {
					n--;
					stack.pop();
				}
				stack.add(c);
			}
			for(int i=0;i<n;i++) {
				stack.pop();
			}
			StringBuilder sb=new StringBuilder();
			for(char c:stack) {
				if(isZero==false&&c=='0') {
					continue;
				}
				isZero=true;
				sb.append(c);
			}
			if(sb.length()==0) {
				System.out.println(0);
			}
			else{
				System.out.println(sb.toString());
			}
		}
	}
}

Double click to view unformatted code.


Back to problem 609