코딩테스트/Level1

올바른 괄호

MJ.Lee 2022. 2. 9. 10:03

문제

괄호가 입력되면 올바른 괄호이면 “YES", 올바르지 않으면 ”NO"를 출력합니다.
(())() 이것은 괄호의 쌍이 올바르게 위치하는 거지만, (()()))은 올바른 괄호가 아니다.

입력 예제
(()(()))(()

출력 예제
NO

public class problem08 {
	
	public static void main(String[] args) {
		String input = "(()(()))(()";
		String input2 = "()()(()())";
		String input3 = ")(";
		
		String result = method(input);
		String result2 = method(input2);
		String result3 = method(input3);
		
		System.out.println(result);
		System.out.println(result2);
		System.out.println(result3);
		
	}
	
	public static String method(String input) {
		String result = "";
		int count = 0;
		for(int i = 0; i<input.length(); i++) {
			char b = input.charAt(i);
			if(b == '(')
				count++;
			else
				count--;
			
			if(count < 0) 
				break;
		}
		
		result = "NO";
		if(count==0)
			result = "YES";
		
		return result;
		
	}

}