본문 바로가기
혼자 공부하는 것들/JAVA

JAVA) java push,pop이용하여 괄호 쌍 맞추기

by applepick 2020. 7. 18.
반응형

JAVA에서 PUSH,POP을 이용해서 괄호의 쌍이 맞는지 확인해주는 프로그램입니다. LinkedList를 통해서 구현해보았습니다.

import java.util.*;

public class CheckRrace {
    public static void main( String[] args )
    {
        String s = "( 4 + [ 3 + { x - y } / 2 ] ) * 7 ";

        LinkedList<Character> stack = new LinkedList<Character>();

        for(int i=0; i<s.length(); i++)
        {
            char c = s.charAt(i);

            if ( c=='(' || c=='[' || c=='{' )
            {
                stack.push( c );
                System.out.println( stack );
            }
            if ( c==')' || c==']' || c=='}' )
            {
                if ( stack.isEmpty() )
                {
                    System.out.println("Not match");
                    System.exit(1);
                }

                char d = stack.pop();
                System.out.println( stack );

                if ( ( c==')' && d!='(' ) || ( c==']' && d!='[' ) || ( c=='}' && d!='{' ) )
                {
                    System.out.println("Not match");
                    System.exit(1);
                }
            }
        } // for
        if ( !stack.isEmpty() )
        {
            System.out.println("Not match");
            System.exit(1);
        }
        System.out.println("Match");
    } // main
}

 

반응형

댓글