📖 오늘의 학습 키워드
문자열
[Remove K Digits]
https://leetcode.com/problems/remove-k-digits/description/
class Solution {
public String removeKdigits(String num, int k) {
if (num.length() <= k) {
return "0";
}
Stack<Character> stack = new Stack<>();
for (int i = 0; i < num.length(); i++) {
while(!stack.isEmpty() && stack.peek() > num.charAt(i) && k > 0) {
stack.pop();
k--;
}
stack.push(num.charAt(i));
}
while (k > 0){
stack.pop();
k--;
}
StringBuilder answer = new StringBuilder();
for (Character c : stack) {
answer.append(c);
}
while(answer.length() > 1 && answer.charAt(0) == '0'){
answer.deleteCharAt(0);
}
return answer.toString();
}
}
실행 시간 단축하기
while(!stack.isEmpty()) {
answer.insert(0, stack.pop());
}
for (Character c : stack) {
answer.append(c);
}