Closed honeySleepr closed 2 years ago
(
)
// 쇠막대기 // ')' 앞이 '('가 아니면 한 막대기의 오른쪽 끝 지점이다! public class P0505 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); char[] arr = br.readLine().toCharArray(); Deque<Character> stack = new ArrayDeque<>(); int answer = 0; for (int i = 0; i < arr.length; i++) { if (arr[i] == '(') { stack.push(arr[i]); continue; } if (arr[i] == ')') { /* 레이저든 막대기든 하나 끝난거니까 '(' 하나를 지워야한다 */ stack.pop(); if (arr[i - 1] == '(') { answer += stack.size(); } if (arr[i - 1] == ')') { answer++; } } } System.out.println(answer); } } /* ()(((()())(())()))(()) */
📌 문제
⭐️ 아이디어
(
들을 push하고)
가 나오면 pop 한다🤔 고민한 내용
💪 새롭게 배운 내용
🆘 이해가 어려운 내용
❌ 해결하지 못한 이유
✅ 본인 풀이
참고한 자료