디버깅 문의드립니다.
234
작성한 질문수 34
안녕하세요 강의 잘 보고 있습니다.
그런데 릿코드랑 이클립스에서 아래코드를 디버깅해봤는데, 릿코드에서는 정답이 나오는데 이클립스에서는 오답이 나옵니다.
코드에서 pop하는 연산이 없는 것 같은데 어떻게 정답처리(스택이 비게 되어 true리턴)가 되는지 궁금합니다.
감사합니다.
static Map<Character,Character> map = new HashMap<>();
static {
map.put('(', ')');
map.put('{', '}');
map.put('[', ']');
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//String s = "([}}])";
//String s = "([])";
String s = "()";
System.out.println(isValid(s));
}
public static boolean isValid(String s) {
if(s.length()%2 != 0) return false;
System.out.println(s);
Stack<Character> stack = new Stack<>();
for(int i=0; i<s.length();i++) {
char c = s.charAt(i);
if(map.containsKey(c)) {
stack.push(map.get(c));
} else if(map.containsValue(c)) {
if(stack.isEmpty() || stack.peek() != c ) {
return false;
} else if(!stack.isEmpty() || stack.pop() == c) {return false;}
}
}
return stack.isEmpty();
}
답변 2
0
안녕하세요.
어떤 케이스를 넣으셨나요? 케이스를 디버깅해보시면 좋을거 같습니다.
그리고 pop은 밑에
} else if(!stack.isEmpty() || stack.pop() == c) {return false;} => 여기 pop 있네요
제 git에 map 예제가 있습니다.
비교해서 보시면 될거 같습니다.
강의자료에 나오는 m과 n의 범위가 코딩하고 다른거 같습니다
0
253
0
나선형매트릭스 깃허브에 코드가 없는것같아요
0
208
0
로그 파일의 데이터 재정렬 코드가 깃허브에 없어요!
0
223
0
새로 생긴 기초강의 질문드려요
1
374
1
질문드립니다
1
219
1
Unique Paths Integer 질문입니다
0
219
1
subString 방법으로 문제 풀이 영상은 짤린건가요?
1
251
1
DFS 방식으로 푼 것이 맞나요?
0
307
2
질문드립니다~
0
196
1
left if문에 대해서
1
255
1
오타 인가요?
1
237
1
안녕하세요 강사님
1
187
1
질문 드립니다
0
172
2
Queue&Stack 문제해설집 문의
0
183
1
문제분석 로직 질문
1
228
1
시간 복잡도 문의드립니다.
1
231
1
시간복잡도 질문드립니다.
1
201
1
for-each 문 질문있습니다!
0
293
1
강의영상에서 사용된 로그 메소드가 궁금합니다.
2
280
2
강의자료 + 문제 이해 관련 질문입니다
1
278
3
강사님 오류맞나요?
1
206
1
강사님 시간 복잡도에 대해서 질문드립니다.
1
172
1
질문입니다.
1
201
1
문제에 대한 이해
1
313
1





