백준

백준 9012 - java

으엉어엉 2024. 8. 13. 19:27
728x90

문제

 

 

풀이

import java.util.Scanner;

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

        int n = sc.nextInt();

        for (int i = 0; i < n; i++) {
            String s = sc.nextLine();
            int balance = 0;
            boolean isValid = true;

            for (char c : s.toCharArray()) {
                if (c == '(') {
                    balance++;
                } else if (c == ')') {
                    balance--;
                    if (balance < 0) {
                        isValid = false;
                        break;
                    }
                }
            }

            if (balance != 0) {
                isValid = false;
            }
            System.out.println(isValid ? "YES" : "NO");
        }

        sc.close(); 
    }
}

 

 

1. 몇개의 문장을 입력 받을 것인지 n으로 입력 받는다.

2. for문을 통해  문장을 입력 받고 이때 balance는 (와 ) 의 개수로 판단될 예정이다. isValid는 true를 기본 값으로 설정한다.

3. 이중 for문을 통해 갯수를 세고 (, ) 개수를 balance를 ++, --로 왔다갔다 한다. 만약 false면 No출력하고 true면 YES를 출력한다.

 

728x90

'백준' 카테고리의 다른 글

백준 10866 - Java  (0) 2024.08.24
백준 1158 - Java  (0) 2024.08.24
백준 10845 - java  (0) 2024.08.15
백준 1406 - java  (0) 2024.08.13
백준 1874 - java  (0) 2024.08.13