이 질문은 hackerRank의 문제와 관련이 있습니다. - https://www.hackerrank.com/challenges/java-stack/problem어떤 차이가 있습니까?
루프를 넣을 때 어떤 차이가 있습니까?
루프 내부에 Stack을 넣으면 '[]'패턴에 대해 true를 반환하지만 클래스 수준에서 가져 오면 false 을 가져옵니다.
정답이 맞아야합니다.
import java.util.*;
class Solution{
public static void main(String []argh)
{
Scanner sc = new Scanner(System.in);
while (sc.hasNextLine()) {
String input=sc.nextLine();
Stack<Character> stack = new Stack<>();
for(char c : input.toCharArray()){
if(c == '{' || c == '(' || c =='['){
stack.push(c);
continue;
}
if(c == '}' && !stack.isEmpty() && stack.peek() == '{'){
stack.pop();
continue;
}
if(c == ')' && !stack.isEmpty() && stack.peek() == '('){
stack.pop();
continue;
}
if(c == ']' && !stack.isEmpty() && stack.peek() == '['){
stack.pop();
continue;
}
if(c == '}' || c == ')'|| c == '['){
stack.push(c);
break;
}
} //end for
System.out.println(stack.isEmpty());
} //end while
} //end main
} //end class
while 루프 외부 스택 라인 - 대신 전체 텍스트 입력을 확인합니다 :
이 작업을 수행하는 또 다른 방법은 클래스 레벨의 스택을 추가하는 듯했으나 각 반복의 시작
clear
를 호출하는 것입니다 by-lines. –오, 알았어 :) 고마워. –