문제
https://school.programmers.co.kr/learn/courses/30/lessons/42883
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
아이디어
Stack 사용
코드
import java.io.*;
import java.util.*;
class Solution {
static int N, K;
static int max;
static Stack<Character> stack;
static char[] arr;
public String solution(String number, int k) {
arr = number.toCharArray();
stack = new Stack<>();
for(char a : arr){
while(!stack.isEmpty() && a > stack.peek() && k-- > 0) {
stack.pop();
}
stack.push(a);
}
StringBuilder sb = new StringBuilder();
while(!stack.isEmpty()){
sb.append(stack.pop());
}
String ans = sb.reverse().toString();
if(k > 0) {
ans = ans.substring(0, ans.length() - k);
}
return ans;
}
}
'Java' 카테고리의 다른 글
[백준] 1799 : 비숍 (0) | 2025.03.03 |
---|---|
[백준] 1949 : 우수마을 (0) | 2025.02.26 |
[백준] 2178 : 미로 탐색 - BFS + Memoization (?) (0) | 2025.02.18 |
[코드트리 챌린지] 문자열 - 문자열 선언하고 사용하기 (0) | 2025.02.08 |
[코드트리 챌린지] 실력체크 + 적절한 문제집 추천 (0) | 2025.02.08 |