[ 백준 ] 9012번 - 괄호

NaHyun_kkiimm·2022년 1월 10일
0

알고리즘

목록 보기
6/18

< 문제 정보 >

[ 문제 ]

올바른 괄호(VPS)인지 검사하는 프로그램 작성
올바른 괄호는 열린 괄호('(')와 닫힌 괄호(')')가 한 쌍으로 이뤄져야 한다.

[ 예시 ]

  • 입력 : (())() -> 출력 : YES
  • 입력 : (())(( -> 출력 : NO

[ 규칙 ]

  • 2 <= 괄호 문자열의 길이 <= 50

[ 백준 ]


< 풀이 >

  • 스택 클래스말고 다른 형식으로 해봤다.
    그래도 스택과는 같은 형식이다
  • 결과값이 어느 순간에도 0보다 작으면 "NO"
  • 최종 결과값이 0이면 YES, 그렇지 않으면 "NO"

[ 코드 ]

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner input = new Scanner(System.in);
		int T = input.nextInt();
		for (int i=0;i<T;i++) {
			String str = input.next();
			Boolean flag = true;
			int result = 0;
			for (int j=0;j<str.length();j++) {
				char c = str.charAt(j);
				if (c=='(')
					result++;
				else if (c==')')
					result--;
				if (result < 0)
					flag = false;
			}
			if (flag&&result==0)
				System.out.println("YES");
			else
				System.out.println("NO");
		}
	}
}
프로그래머스의 올바른 괄호문제와 같은 문제
profile
이 또한 지나가리라

0개의 댓글