코딩테스트(알고리즘)/프로그래머스
[프로그래머스] 큰 수 만들기 (Javascript)
Cafe Mocha
2022. 6. 22. 14:34
https://programmers.co.kr/learn/courses/30/lessons/42883
코딩테스트 연습 - 큰 수 만들기
programmers.co.kr
접근 : 그리디
1. stack을 활용하여 최대값 확인
2. 반례 : 내림차순으로 들어오면 k값이 유지되는 현상으로 12번 테스트케이스에서 문제발생
3. 예외 처리 완료.
function solution(number, k) {
number = number.split("").map(v=>+v);
let stk = [];
for(let i=0;i<number.length;i++){
let temp = number[i];
while(k>0&&stk[stk.length-1] < temp){
stk.pop();
k--;
}
stk.push(temp);
}
if(k!==0){
stk.splice(stk.length-k,k)
}
console.log(stk)
return stk.join("");
}