function solution(number, k) {
const nums = number.split("")
let answer = ""
let st = []
for (let i = 0; i < number.length; i++) {
const element = number[i]
while (k > 0 && st[st.length - 1] < element) {
st.pop()
k--
}
st.push(element)
}
st.splice(st.length - k, k)
answer = st.join("").toString()
return answer
}
// solution("1231234", 3)
solution("4177252841", 4)
정렬해서 수를 구하기 ❌
--> 숫자 위치들이 바뀌면 안된다.
포인터를 이용해서 구하기 ❌
지우고 남은 (number.length - k
) 수가 2개면 할만 하겠지만, 3, 4개되면 관리해야 할 포인터가 너무 많아져 복잡하게 된다.
가능한 조합 구해서 가장 최댓값을 리턴하기 ❌
number.length
가 길어지면 길어질수록 조합의수는 엄청나게 증가해 시간초과가 발생
스택을 이용 ✅
스택에 있는 맨위의 수가 넣으려는 수보다 작으면 계속 pop
크면 push