알고리즘 풀이/프로그래머스
[프로그래머스][JAVA] 큰 수 만들기 (스택, 그리디)
배게
2022. 3. 31. 11:38
728x90
Line:19
Stack클래스는 vector클래스를 상속받고 있기 때문에 get(i)메서드로 i번째 인자에 접근이 가능하다
Line:11
k-- > 0을 조건식에 붙어주는게 깔끔한 코드인듯
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import java.util.*;
class Solution {
public String solution(String number, int k) {
char[] res = new char[number.length()-k];
Stack<Character> st = new Stack<>();
for(int i=0; i<number.length(); i++){
char curr = number.charAt(i);
while(!st.isEmpty() && st.peek()<curr && k-- >0){
st.pop();
}
st.push(curr);
}
// System.out.println(st.size());
for(int i=res.length-1; i>=0; i--){
res[i] = st.get(i);
}
return new String(res);
}
}
|
cs |