9012번 (괄호)

han.user();·2023년 3월 20일
0

백준 온라인 저지

목록 보기
2/7
post-thumbnail

나의 코드

import java.util.Scanner;
import java.util.Stack;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int numCases = sc.nextInt();
        sc.nextLine();

        for (int i = 0; i < numCases; i++) {
            String input = sc.nextLine();

            if (isVPS(input)) {
                System.out.println("YES");
            } else {
                System.out.println("NO");
            }
        }
    }

    public static boolean isVPS(String input) {
        Stack<Character> stack = new Stack<>();

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

            if (c == '(') {
                stack.push(c);
            } else if (c == ')') {
                if (stack.isEmpty()) {
                    return false;
                }

                stack.pop();
            }
        }

        return stack.isEmpty();
    }
}

처음에 대충 보고 맨 앞 숫자들이 그냥 예외상황인지 알았다.
(괄호가 아닌 문자가 들어갔을때 NO출력하는거라고 착각을 해서 추후 불필요한 소스코드는 다시 삭제하였다)

맨 앞 숫자의 의미는 입력할 괄호데이터의 갯수이다.

profile
I'm still hungry.

0개의 댓글