-
[백준-4949] 균형잡힌 세상 - Java공부/백준 2022. 6. 15. 17:29728x90
https://www.acmicpc.net/problem/4949
백준 4949번 균형잡힌 세상 자바 풀이
난이도: 실버4
https://binsblog.tistory.com/entry/%EB%B0%B1%EC%A4%80-9012-%EA%B4%84%ED%98%B8-Java
위 문제와 비슷하다.
while문을 .일때 종료한다.
스택을 이용하여 푼다.
( 또는 [ 일때 stack.push()를 이용해 추가한다.
) 또는 ] 일때 stack.peek()을 통해 확인하고, 맞는 괄호일 경우 stack.pop()을 통해 제거한다.
아닐 경우, break를 통해 빠져나온다.
마지막으로 괄호가 아직 스택에 남아있는지 확인한다.
코드
import java.util.*;public class back4949 {public static void main(String args[]){Scanner scanner = new Scanner(System.in);Stack <String>stack=new Stack<>();while(true){String str=scanner.nextLine();stack.clear();if(str.equals(".")){break;}boolean check=true;for(int i=0;i<str.length();i++){if(str.charAt(i)=='('){stack.push("(");}else if(str.charAt(i)==')'){if(!stack.empty()){if(stack.peek().equals("(")){stack.pop();}else{check=false;break;}}else{check=false;break;}}else if(str.charAt(i)=='['){stack.push("[");}else if(str.charAt(i)==']'){if(!stack.empty()){if(stack.peek().equals("[")){stack.pop();}else{check=false;break;}}else{check=false;break;}}}if(check){if(!stack.empty()){System.out.println("no");}else{System.out.println("yes");}}else{System.out.println("no");}}}}728x90반응형'공부 > 백준' 카테고리의 다른 글
[백준-2743] 단어 길이 재기 - Java (0) 2022.06.17 [백준-1966] 프린터 큐 - Java (0) 2022.06.16 [백준-11866] 요세푸스 문제0 - Java (0) 2022.06.14 [백준-2004] 조합 0의 개수 - Java (0) 2022.06.13 [백준-25285] 심준의 병역판정검사 - Java (0) 2022.06.12