![article thumbnail image](https://blog.kakaocdn.net/dn/dMQeDF/btqEPuWb6xt/YVw6hBD1L3mNQuuCXrkHG1/img.png)
반응형
#include <iostream>
using namespace std;
bool check(char * c)
{
int count = 0;
for (int i = 0; c[i] != '\0'; ++i)
{
if (c[0] == ')' || (c[i+1] == '\0' && c[i] == '(')) return false;
if (c[i] == '(') count++;
else if (c[i] == ')') count--;
}
if (count == 0) return true;
return false;
}
int main()
{
char c[31];
cin >> c;
cout << (check(c) ? "YES" : "NO");
return 0;
}
출력 결과
채점 결과
맨 앞에 )가 오거나, 맨 뒤에 (가 오는 경우는 어떻게 처리해야 할지 고민됐는데, 선생님은 체크 후 count가 0 미만이 되면 break하는 방식으로 처리하셨다. 어차피 맨 뒤 (는 if (count == 0) 에서 걸러질 거니까 간단하고 좋은 방법인 것 같다... 🤔
해당 포스트는 'it 취업을 위한 알고리즘 문제풀이 (with C/C++) : 코딩테스트 대비' 강의를 수강하며 개인 백업용으로 메모하였습니다.
인프런: https://www.inflearn.com/course/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98#
it 취업을 위한 알고리즘 문제풀이 (with C/C++) : 코딩테스트 대비 - 인프런
알고리즘과 자료구조를 이용해 문제해결력을 기르는게 주 목적입니다. 초급 취업 ・ 이직 프로그래밍 언어 알고리즘 C++ 알고리즘 코딩 테스트 개발자취업 온라인 강의 알고리즘
www.inflearn.com
반응형