질문 드립니다!
249
1 câu hỏi đã được viết
public String solve(String s) {
Stack<Integer> countStack = new Stack<>();
Stack<StringBuilder> stringStack = new Stack<>();
StringBuilder tmp = new StringBuilder();
StringBuilder result = new StringBuilder();
int k = 0;
for(char c : s.toCharArray()) {
if(Character.isDigit(c)) {
k = k*10 +c-'0'; //1, 12
}
else if(c =='[') {
countStack.push(k);
tmp = new StringBuilder();
k=0;
}
else if(c ==']') {
System.out.println("~~~~~" + tmp);
stringStack.push(tmp);
StringBuilder str = stringStack.pop();
for(int i=countStack.pop();i>0; i--) {
System.out.println("!!!!!!!!!!!!!!" + tmp);
str.append(tmp);
}
result.append(str);
}
else {
tmp.append(c);
}
}
return result.toString();
}
}
=======================
~~~~~ 와 출력되는 tmp가 맞는 출력입니다
!!!!!!!!!!!!!!와 출력되는 동일한 tmp는 위의 출력결과의 두배로 출력됩니다ㅜ
해결법을 찾지 못하여 질문 드립니다.
감사합니다.
Câu trả lời 1
0
lisasje0225 님 안녕하세요~
질문주신 내용:
!!!!!!!!!!!!!!와 출력되는 동일한 tmp는 위의 출력결과의 두배로 출력됩니다ㅜ
답변:
StringBuilder tmp = new StringBuilder();
StringBuilder result = new StringBuilder();
2개를 만드신 이유가 무엇인지요? 제가 의도를 정확히 이해를 못했네요
일단 아래그림에서 보면
'[' 로 진입시점에 result를 초기화 해줍니다.
제안드리고 싶은것은
1. 담을 그릇을 하나로 가져가기
2. 담을 때 초기화 해주기
제 답변이 빈약할수 있습니다. 혹시 더 궁금하신부분은 다시 질문 주세요
감사합니다.
PriorityQueue
1
337
1
면적을 구하는 res를 for문 내에 있는 if문 안에 넣으면 되지 않나요?
1
311
1
강의에 있는 자료구조만 공부하면 되나요??
1
229
1
bfs, dfs 강의 자료
1
241
1
문제가 이해가 안가요
1
323
1
만약 문자열이 매칭되는 조건("arrest", "test")이 문자열의 인덱스 기준 뒤에서부터 발생하면 어떻게 풀어야할까요?
2
434
1
그림이 잘 이해되지 않습니다.
1
182
1
어떤 문제인지에 대한 설명이 없어서 이해가 안가네요;;
1
300
3
강사님 문제가 잘 이해가 안가요
3
180
1
merge함수 질문 있습니다.
1
226
1
dp 강의자료 어딧어요??
1
379
2
응용문제4) DFS 응용문제 질문이요!
1
161
1
Dp HouseRobber 질문
1
222
1
DP 1분 간단 영상이 보이지 않습니다.
1
285
1
스택 문제 영상이 추가적으로 들어갔습니다.
1
158
1
list 질문입니다
2
189
1
DP문제 문의
1
237
2
Comparator 질문입니다.
1
468
2
안녕하세요. 질문입니다.
1
262
1
BFS 게임 맵 최단거리 문의
1
328
3
코딩테스트 처음 입문 했는데 질문이 있습니다.
1
153
1
안녕하세요. 수강생입니다. 이 강의만 전부 소스 보낼 수 있을까요?
1
159
1
추가 강의 문의.
1
367
3
개념 설명이 잘못나온거 같습니다.
1
157
1

