코테 준비-문제풀기

프로그래머스 - 그리디/ 큰 수 만들기/ 자바 /java

FireStone 2020. 12. 1. 13:37

programmers.co.kr/learn/courses/30/lessons/42883

 

코딩테스트 연습 - 큰 수 만들기

 

programmers.co.kr

keepgoing0328.tistory.com/entry/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%ED%81%B0-%EC%88%98-%EB%A7%8C%EB%93%A4%EA%B8%B0-%EC%9E%90%EB%B0%94

 

[ 프로그래머스 ] 큰 수 만들기 ( 자바)

[ 프로그래머스 ] 큰 수 만들기 ( java) 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 

keepgoing0328.tistory.com

참고용 

import java.util.Stack;
class Solution {
    int left;
    Stack<Integer> st = new Stack<>();
    public void check(int num){
        while(!st.isEmpty() && left>0 && st.peek()<num){
            st.pop();
            left--;
        }
        st.push(num);
    }
    public String solution(String number, int k) { 
        String answer ="";
        if(number.length() == k)
            return number;
        left = k;
		   for(int i=0;i<number.length();i++){
            int num = number.charAt(i)-'0';
            if(i==0){
                st.push(num);
            }
            else{
                check(num);
            }
           }
         
        //left!=0
        while(left!=0){
            st.pop();
            left--;
        }
        
        while(!st.isEmpty()){
            answer= Integer.toString(st.peek())+answer;
            st.pop();
        }
        

        return answer;
    }
}