hahn

단계별로 풀어보기(스택 - 괄호) 본문

코딩테스트 연습/백준(JAVA)

단계별로 풀어보기(스택 - 괄호)

hahn 2021. 9. 12. 14:35
728x90
반응형

9012번: 괄호 (acmicpc.net)

 

9012번: 괄호

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

www.acmicpc.net

http://boj.kr/9e9322014cd8444fbc4e558cca08d501

 

공유 소스 보기

 

www.acmicpc.net

더보기
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

class Main{
    
    public static void main(String[] args) throws IOException{
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		int caseCount = Integer.parseInt(br.readLine()),
			pardonNumber;
		
		char[] charArr;
		
		for(int i = 0; i< caseCount; i++) {
			
			pardonNumber = 0;
			
			charArr = br.readLine().toCharArray();
			
			
			for(int j = 0; j < charArr.length; j++) {
				
				if(charArr[j] == '(') {
					pardonNumber++;
				}else {
					if(pardonNumber == 0) {
						pardonNumber = -1;
						break;
					}
					pardonNumber--;
				}
				
			}
			
			if(pardonNumber != 0) {
				bw.write("NO");
			}else {
				bw.write("YES");
			}
			
			bw.newLine();
			
		}
		
		bw.close();
	}
    
}

이제 문제가 시간 복잡도를 고려하여

 

해결해야 하는 게 대다수라

 

필요 없어보이는 문제 풀어봤다.

 

괄호가 정상적으로 닫히는지

 

여는 괄호가 없을 때 닫힌 괄호가 들어오는지 확인해주면 된다.

 

++ 얘도 단계 별로 풀어보기였음.

728x90
반응형