#include <stdio.h>
char sti[100000]; //입력 받을 배열
int stick(void);
int main(void)
{
int c;
scanf("%s", sti);
c=stick();
printf("%d", c);
return 0;
}
int stick(void)
{
int i, d=0, c=0, dot_c=0;
//c=막대의 개수, dot_c=레이저가 발사될때 잘리는 막대의 개수, d=레이저의 위치를 파악
for(i=0; sti[i]!='\0'; i++)
{
if(sti[i]=='(') //막대가 시작되는 부분
{
dot_c++;
d=1;
}
else if(sti[i]==')' && d==1) //레이저가 발사되는 위치일 경우
{
dot_c--;
c+=dot_c;
//printf("1: c=%d dot_c=%d d=%d \n", c, dot_c, d);
d++;
}
else if(sti[i]==')' && d!=1) //막대가 끝나는 부분
{
c++;
dot_c--;
//printf("!1: c=%d dot_c=%d d=%d \n", c, dot_c, d);
d++;
}
}
return c;
}
2018.01.20 09:40
정올 - 실력키우기 - 쇠막대기(2858)
조회 수 849 추천 수 0 댓글 0