본문 바로가기
알고리즘/문제풀이

[Java] 백준 9012 : 괄호

by abcodef 2021. 12. 15.

🔗 문제 내용

https://www.acmicpc.net/problem/9012

 

9012번: 괄호

괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고

www.acmicpc.net

🌱 문제 풀이 방법

스택을 활용해서 풀었다. 

자료구조 시간에 배운 괄호 체크를 열심히 떠올렸다.

🤔 공부가 필요한 부분

구현에 너무 집중했기 때문에 다른 코드 참고하면서 개선해야할 것 같다.

마우스가 지금 없어서 4949, 9012 둘다 구현만 했다.

💻 코드

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

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int T = sc.nextInt();
		Stack<Character> stack = new Stack<>();

		for (int i = 0; i < T; i++) {
			String str = sc.next();
			String answer = "YES";
			for (int r = 0; r < str.length(); r++) {
				if (str.charAt(r) == '(') {
					stack.push(str.charAt(r));
				} else if (str.charAt(r) == ')') {
					if (!stack.isEmpty()) {
						if (stack.peek() == '(') {
							stack.pop();
						} else
							answer = "NO";
					} else
						answer = "NO";
				}
			}

			if (!stack.isEmpty())
				answer = "NO";
			stack.clear();
			System.out.println(answer);
		}
		sc.close();
	}
}

'알고리즘 > 문제풀이' 카테고리의 다른 글

[Java] 백준 10773 : 제로  (0) 2021.12.16
[Java] 백준 7568 : 덩치  (0) 2021.12.15
[Java] 백준 4949 : 균형잡힌 세상  (0) 2021.12.15
[Java] 백준 2798 : 블랙잭  (0) 2021.12.14
[Java] 백준 2751 : 수 정렬하기 2  (0) 2021.12.13

댓글