1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
function solution(number, k) {
let StNum = String(number);
let num_length = StNum.length;
let stack = [];
let count = 0;
for(let i=0;i<num_length;i++){
let element = number[i];
if(stack.length===0){
stack.push(element);
continue;
}
//stack의 쌓인 최근 값이 들어와야할 값보다 크거나 같을떄까지 꺼낸다..
while(stack[stack.length-1] < element){
stack.pop();
count++; // 만약 뺴는갯수 카운팅
//다 뻇다면 남은 자릿수를 다 꺼낸다.
if(count === k) {
return stack.join("")+number.substring(i,num_length);
}
//스택이 비어있으면 나간다.
if(stack.length === 0 ){
break;
}
}
stack.push(element);
}
return stack.join("").substring(0,num_length-k);
}
|
cs |
'알고리즘구현능력 > 문제해결능력' 카테고리의 다른 글
알고리즘 토이 문제 2. 중복되지 않는 문자를 반환하는 문제. (0) | 2020.01.08 |
---|---|
알고리즘 토이 문제 1 풀기. 가위바위보 모든 경우의 수의 배열 구하기.. (1) | 2020.01.07 |
[javascript] 프로그래머스 - 기능개발 (0) | 2019.12.11 |
[javascript] 프로그래머스 - 스킬트리 (0) | 2019.12.11 |
[javascript] 프로그래머스 - 멀쩡한 사각형 (0) | 2019.12.10 |