Skip to content

Commit d58e17a

Browse files
committed
[level 2] Title: 큰 수 만들기, Time: 103.87 ms, Memory: 102 MB -BaekjoonHub
1 parent 0adde4a commit d58e17a

File tree

2 files changed

+14
-17
lines changed

2 files changed

+14
-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-
메모리: 115 MB, 시간: 90.30 ms
7+
메모리: 102 MB, 시간: 103.87 ms
88

99
### 구분
1010

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

1717
### 제출 일자
1818

19-
2025년 09월 15일 17:01:46
19+
2025년 09월 16일 11:15:12
2020

2121
### 문제 설명
2222

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

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,24 @@ class Solution {
44
public String solution(String number, int k) {
55
Stack<Integer> stack = new Stack<>();
66

7-
int complete = 0;
8-
for(char ch : number.toCharArray()) {
9-
int num = ch -'0';
7+
for(char numStr : number.toCharArray()) {
8+
int num = numStr - '0';
109

11-
while(!stack.isEmpty()) {
12-
if(stack.peek() < num && complete < k){
13-
stack.pop();
14-
complete++;
15-
} else break;
10+
while(!stack.isEmpty() && stack.peek() < num && k > 0) {
11+
stack.pop();
12+
k--;
1613
}
1714
stack.push(num);
1815
}
1916

2017
StringBuilder sb = new StringBuilder();
21-
while(complete < k) {
22-
stack.pop();
23-
complete++;
24-
}
25-
26-
while(!stack.isEmpty()) {
27-
sb.append(stack.pop());
18+
while(!stack.isEmpty()){
19+
if(k > 0) {
20+
stack.pop();
21+
k--;
22+
} else{
23+
sb.append(stack.pop());
24+
}
2825
}
2926

3027
return sb.reverse().toString();

0 commit comments

Comments
 (0)