9012번 괄호 풀이
[문제] https://www.acmicpc.net/problem/9012
문제가 읽어보면 굉장히 간단합니다.
[입력/출력]
처음 이 문제를 접했을때 간단하게 생각을 했습니다.
'(' 가 입력될때 + 해주고 ')' 입력되면 - 해주면 마지막에 결국 '(' 개수와 ')' 개수가 동일한 결과만( ex) if(count == 0) ) YES를 출력하게 하면 되겠구나~
그렇게 작성한 소스코드가 trouble에 있습니다..
http://hackstoryadmin.tistory.com/40?category=270793
여기 들어가보면 동일한 알고리즘으로 작성한 소스코드를 보실 수 있습니다.(삽질의 흔적)
하지만 한가지 생각을 못했던 것이 있습니다.
바로 이런 결과입니다.
)( -> 즉 괄호가 닫히지 않아서 문제에서 요구한 VPS가 되지 않습니다.
하지만 이런 결과도 결론적으로 count == 0이기 때문에 YES라고 맞다는 결과를 출력해주죠..
그렇기 때문에 이런 경우를 제외하여 다시 작성했습니다.
[풀이]
#include <stdio.h>
int main()
{
int i,j,input,count;
char arr[50];
scanf("%d",&input);
for(i = 0; i < input; i++)
{
scanf("%s",&arr);
count = 0;
for(j = 0; j < 50; j++)
{
if(arr[j] == '\0')
break;
if(arr[j] == '(')
count++;
else if(arr[j] == ')' && count > 0)
count--;
else if(arr[j] == ')' && count <= 0)
{
count--;
break;
}
}
if(count == 0)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
이제 인증해주면~
그토록 보고싶던 결과가 나오네용...ㅠㅠ
이상입니다.