https://programmers.co.kr/learn/courses/30/lessons/42883
function solution(number, k) {
var stack = [];
var answer = '';
for (let i = 0; i < number.length; i++) {
var max = number[i];
while (k > 0 && stack[stack.length - 1] < max) {
stack.pop();
k--;
}
stack.push(max);
}
stack.splice(stack.length - k, k);
answer = stack.join('');
return answer;
}
var number = "4177252841";
var k = 4;
console.log(solution(number, k));
stack을 이용해서 푼다. 처음에는 조합 문제인줄 알고 조합으로 접근했다가 시간초과 및 index 순서가 엉켰다.
이것도 간단한 문제이다.
즉, 앞문자 보다 큰 수이자 뒷문자가 보다 큰수가 stack에 남게된다.