-
[C#/프로그래머스] 올바른 괄호코테풀이 2026. 4. 11. 17:53

Level 2 딱봐도 쉽다 !!!!!!!!
다만 괄호가 성립해야한다는 특수한 조건 때문에 주의해야할 점이 있다.
1. 닫힌괄호와 열린괄호 개수는 같아야한다
2. 닫힌괄호로 시작할 경우 뒤에 볼 필요없이 false가 나와야한다
3. 닫힌괄호 열린괄호가 짝수이고 시작이 열린괄호라 할지라도 닫힌괄호가 앞에 나온 열린괄호에 많이 나올 경우 false다
EX) "())(()" false첫번째 시도
더보기처음에 보면 스택을 사용하지 않았었다.
첨 읽을때 지문의 조건을 다 파악 못해서인데 괄호가 성립해야한다는 말을 그냥 개수만 맞으면 되는줄 알아서...(바보짓)
그래서 이게 왜 스택/큐에 문제가 분류되어있지?하면서 풀었다.
참고로 이거써도 테스트 코드는 성공하게 되어있다.
코테는 잘 생각해서 보이지 않는 테스트 케이스까지 발굴해야하는게 중요한듯
using System; using System.Collections.Generic; public class Solution { public bool solution(string s) { bool answer = true; int len =s.Length; int A=0; int B=0; if(s[0]==')') { answer=false; return answer; } for(int i=0; i<len; i++) { if(s[i]=='(')A++; else B++; } if((A-B) !=0) answer=false; return answer; } }제출 코드
using System; using System.Collections.Generic; public class Solution { public bool solution(string s) { bool answer = true; int len =s.Length; Stack<char> A = new Stack<char>(); if(s[0]==')') { answer=false; return answer; } A.Push(s[0]); for(int i=1; i<len; i++) { if(s[i]=='(') { A.Push(s[i]); } else { if(A.Count !=0) { A.Pop(); } else { answer=false; return answer; } } } if(A.Count !=0) answer=false; return answer; } }
효율성 테스트 까지있는데 스택 큐가 가벼운 편이라 조건이 복잡하지 않으면 발목잡힐일이 별로 없는듯 함
끝~

'코테풀이' 카테고리의 다른 글
[C#/프로그래머스] 하노이의 탑 (0) 2026.04.15 [C#/프로그래머스]숫자 게임 (0) 2026.04.10 [C#/프로그래머스] 귤 고르기 (0) 2026.04.10 [C#/백준] 소수찾기 1978번 (0) 2026.04.08