#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)
조회 수 794 추천 수 0 댓글 0