📝문제

📝알고리즘
//괄호열 S를 입력받고
//괄호들을 분리해서 각각 배열에 저장
//괄호 배열을 순회하면서
//스택이 비어있을 때
//')'이면 필요한 괄호 개수 추가
//'('이면 스택에 넣음
//스택이 안 비어있을 때 ')'이고
//스택 최상단이 '('이면 짝을 이뤄 pop하고
//스택 최상단이 '('이 아니면 필요한 괄호 개수 추가
//스택이 안 비어있을 때 '('이면 스택에 넣음
//모든 괄호 배열을 순회한 후 스택에 남은 개수를 num에 더함
//num 출력
📝구현
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
Stack<Character> stack=new Stack<>();
String input=scanner.nextLine();
char[] brackets=input.toCharArray();
int num=0;
for(char c:brackets){
if(stack.isEmpty()){
if(c==')'){
num++;
}
else{
stack.push(c);
}
}
else{
if(c==')'){
if(stack.peek()=='('){
stack.pop();
}
else{
num++;
}
}
else{
stack.push(c);
}
}
}
num+=stack.size();
System.out.print(num);
}
}
📌기록하고 싶은 내용
문자열을 문자 배열로 전환하고 싶을 때➡️toCharArray()사용