4949번: 균형잡힌 세상
하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마
www.acmicpc.net
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
Stack<String> stack = new Stack();
String s = sc.nextLine();
if(s.equals(".")) break;
String[] ss = s.split("");
for (String str : ss) {
// 왼쪽 소,대 괄호는 스택에 push
if(str.equals("(") || str.equals("[")) stack.push(str);
//오른쪽 소,대 괄호일 때 스택이 비어있지 않고 마지막 요소가 왼쪽 괄호 소,대 괄호의 짝이 맞으면 pop
else if(str.equals(")") && !stack.isEmpty() && stack.peek().equals("(")) stack.pop();
else if(str.equals("]") && !stack.isEmpty() && stack.peek().equals("[")) stack.pop();
else if(str.equals(")") || str.equals("]")) stack.push(str);
}
//스택이 비어있으면 yes 아니면 no
if(stack.isEmpty()) System.out.println("yes");
else System.out.println("no");
}
}
}
'ALGORITHM > 프로그래머스 | 백준 | 삼성 | 카카오' 카테고리의 다른 글
[백준] 11399번 ATM (0) | 2021.01.05 |
---|---|
[프로그래머스] 모의고사 (0) | 2020.12.11 |
[프로그래머스] 2018 KAKAO BLIND RECRUITMENT 캐시 (0) | 2020.11.09 |
[백준] 14889번 스타트와 링크 (0) | 2020.10.25 |
[프로그래머스] 2018 KAKAO BLIND RECRUITMENT (0) | 2020.10.23 |