반응형

 

📖 문제

 

📋 코드

import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		String s = sc.nextLine();
		while (!s.equals(".")) {
			
			Stack<Character> st = new Stack<>();
			for (int i = 0; i < s.length(); i++) {
				if(s.charAt(i) == '(' || s.charAt(i) == '[') {
					st.push(s.charAt(i));
				}else {
					if(s.charAt(i) == ')') {
						if(!st.isEmpty() && st.peek() == '(') st.pop();
						else st.push(s.charAt(i));
					} else if( s.charAt(i) == ']') {
						if(!st.isEmpty() &&st.peek() == '[') st.pop();
						else st.push(s.charAt(i));
					}
					
				}
			}
			if(st.isEmpty()) System.out.println("yes");
			else System.out.println("no");
			s = sc.nextLine();
		}

	}
}

👨🏻‍💻 결과

 

 

🔗 링크

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

 

4949번: 균형잡힌 세상

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

www.acmicpc.net

 

반응형

+ Recent posts