본문 바로가기

코딩테스트/Level1

올바른 괄호

문제

괄호가 입력되면 올바른 괄호이면 “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;
		
	}

}

'코딩테스트 > Level1' 카테고리의 다른 글

자릿수의 합  (0) 2022.02.09
모두의 약수  (0) 2022.02.09
영어단어 복구  (0) 2022.02.09
숫자만 추출  (0) 2022.02.09
나이계산  (0) 2022.02.09