ProgramSoliving

프로그래머스 : 큰 수 만들기

하이후에호 2020. 12. 23. 02:14
반응형
import java.util.*;

class Solution {
    public String solution(String number, int k) {
        Stack<Integer> stack = new Stack<>();
        stack.push(number.charAt(0)-'0');
        int i = 0;
        for(i=1;i<number.length()&& k!=0;i++){
            int num = number.charAt(i)-'0';
            while(k!=0&&!stack.isEmpty()&&stack.peek() < num){
                stack.pop();
                k--;
            }
            stack.push(num);
        }
        
        StringBuilder sb = new StringBuilder();
        while(!stack.isEmpty())
            sb.append(stack.pop());
        String answer = sb.reverse().toString() + number.substring(i,number.length());
        return answer.substring(0,answer.length()-k);
    }
}
반응형