본문 바로가기
알고리즘 & 자료구조/프로그래머스

큰 수 만들기

by 신재권 2023. 2. 20.
package programmers;

import java.util.Stack;

public class 큰_수_만들기 {

   public static String solution(String number, int k) {

      Stack<Integer> s = new Stack<>();
      for (int i = 0; i < number.length(); i++) {
         int c = number.charAt(i) - '0';

         while (!s.isEmpty() && s.peek() < c && k > 0) {
            s.pop();
            k--;
         }
         s.push(c);
      }

      while (k > 0) {
         s.pop();
         k--;
      }

      return s.toString().substring(1, s.toString().length() - 1).replace(", ", "");
   }

   public static void main(String[] args) {
      System.out.println(solution("1924", 2));
      System.out.println(solution("1231234", 3));
      System.out.println(solution("4177252841", 4));
      System.out.println(solution("99", 1));
      System.out.println(solution("999", 1));
      System.out.println(solution("4321", 1));
   }
}

'알고리즘 & 자료구조 > 프로그래머스' 카테고리의 다른 글

메뉴 리뉴얼  (0) 2023.02.22
삼각 달팽이  (0) 2023.02.21
쿼드압축 후 개수 세기  (0) 2023.02.18
소수 찾기  (0) 2023.02.17
다리를 지나는 트럭  (0) 2023.02.16