자바 스택
7669 단어 codenewbiejavacodequality
우리는 문자열을 다음과 같이 넣었습니다.
{}()
({()})
{}(
[]
그리고 우리의 입력에 따르면 이 프로그램은 시퀀스가 유효하면 "true"를, 그렇지 않으면 "false"를 제공합니다.
import java.util.*;
class Solution{
public static void
main(String []argh)
{
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
String input=sc.next();
//Complete the code
}
System.out.println(isValid(input));
}
}
public static boolean
isValid(String s){
if(s.charAt(0)==')'||s.charAt(0)=='}'||s.charAt(0)==']'){
return false;
}
Stack<Character> stack=new Stack<>();
for(int i=0;i<s.length();i++)
{if(s.charAt(i)=='{'||s.charAt(i)=='('||s.charAt(i)=='[')
{
stack.push(s.charAt(i));
}
else{
if(stack.empty()){
return false;
}
char open=findOpenBracket(s.charAt(i));
char ch=stack.pop();
if(ch!=open) {
return false;
}
}
}
if(stack.empty()){
return true;
}
return false;
}
public static char findOpenBracket(char c)
{
if(c=='}')
{
return '{';
}
else if(c==')'){
return '(';
}
else if(c==']'){
return '[';
}
return ' ';
}
}
의심되는 부분이 있으면 언제든지 댓글로 질문해주세요:)
이 문제는 HackerRank에서 가져왔습니다!!
해피코딩❤️
Reference
이 문제에 관하여(자바 스택), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/suchitra_13/java-stack-1haa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)