Problem | 크게 만들기
N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오.
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "input.txt";
let input = fs.readFileSync(filePath).toString().trim().split("\n");
let [n, k] = input[0].split(" ").map(Number);
let number = input[1];
let stack = [];
let pop = 0;
for (let i = 0; i < n; i++) {
if (stack.length && Number(number[i]) > Number(stack[stack.length - 1])) {
while (Number(stack[stack.length - 1]) < Number(number[i])) {
if(pop===k) break;
stack.pop();
pop++;
}
}
stack.push(number[i]);
}
while(pop<k){
stack.pop();
pop++;
}
let answer=stack.join('');
console.log(answer);