본문 바로가기

Algorithms/Baekjoon

[Java] 백준 알고리즘 4949번 문제 : 균형잡힌 세상 (문자열, String)

--- 문제 ---

 

--- 코드 ---

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
 
public class Bj4949 {
 
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		String s;
		
		s = br.readLine();
		
		while(!s.equals(".")) {
			String res = "yes";
			char[] stack = new char[100];
			int size = 0;
			boolean first = false;
			for(char tmp : s.toCharArray()) {
				if(tmp=='('||tmp=='[') {
					stack[size++]=tmp;
					first = true;
				}
				else if(tmp==')') {
					if(size==0) {res="no";break;}
					else if(stack[--size]!='(') {res="no";break;}
				}
				else if(tmp==']') {
					if(size==0) {res="no";break;}
					else if(stack[--size]!='[') {res="no";break;}
				}
			}
			if(size>0 && first) res = "no";
			System.out.println(res);
			s = br.readLine();
		}
	}
}

 

--- 출처---

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

 

4949번: 균형잡힌 세상

하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마

www.acmicpc.net

 

반응형