Skip to content

Commit 1a7ce4e

Browse files
committed
[level 2] Title: 큰 수 만들기, Time: 90.30 ms, Memory: 115 MB -BaekjoonHub
1 parent 04d55d0 commit 1a7ce4e

File tree

2 files changed

+16
-17
lines changed

2 files changed

+16
-17
lines changed

프로그래머스/2/42883. 큰 수 만들기/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
### 성능 요약
66

7-
메모리: 94.9 MB, 시간: 74.34 ms
7+
메모리: 115 MB, 시간: 90.30 ms
88

99
### 구분
1010

@@ -16,7 +16,7 @@
1616

1717
### 제출 일자
1818

19-
2025년 09월 05일 16:27:42
19+
2025년 09월 15일 17:01:46
2020

2121
### 문제 설명
2222

프로그래머스/2/42883. 큰 수 만들기/큰 수 만들기.java

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,31 @@
22

33
class Solution {
44
public String solution(String number, int k) {
5-
char[] numberCh = number.toCharArray();
6-
75
Stack<Integer> stack = new Stack<>();
8-
for(int i = 0; i < numberCh.length; i++) {
9-
int num = numberCh[i] - '0';
6+
7+
int complete = 0;
8+
for(char ch : number.toCharArray()) {
9+
int num = ch -'0';
1010

11-
while(!stack.isEmpty() && k > 0 && stack.peek() < num){
12-
stack.pop();
13-
k --;
11+
while(!stack.isEmpty()) {
12+
if(stack.peek() < num && complete < k){
13+
stack.pop();
14+
complete++;
15+
} else break;
1416
}
15-
1617
stack.push(num);
1718
}
1819

19-
while(k > 0){
20+
StringBuilder sb = new StringBuilder();
21+
while(complete < k) {
2022
stack.pop();
21-
k --;
23+
complete++;
2224
}
2325

24-
StringBuilder sb = new StringBuilder();
25-
while(!stack.isEmpty()){
26+
while(!stack.isEmpty()) {
2627
sb.append(stack.pop());
2728
}
2829

29-
String answer = sb.reverse().toString();
30-
31-
return answer;
30+
return sb.reverse().toString();
3231
}
3332
}

0 commit comments

Comments
 (0)