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("");
}
'코딩테스트(알고리즘) > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 짝지어 제거하기 (Javascript) (0) | 2022.06.22 |
---|---|
[프로그래머스] 124 나라 (Javascript) (0) | 2022.06.22 |
[프로그래머스] H-index(Javascript) (0) | 2022.06.21 |
[프로그래머스] 가장 큰 수 (Javascript) (0) | 2022.06.21 |
[프로그래머스] 카펫 (Javascript) (0) | 2022.06.21 |