ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 9012번 괄호 풀이
    Programming/[BAEKJOON] acmicpc 2018. 1. 20. 16:35

    [문제] 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;

    }



    이제 인증해주면~



    그토록 보고싶던 결과가 나오네용...ㅠㅠ 


    이상입니다.

    반응형

    'Programming > [BAEKJOON] acmicpc' 카테고리의 다른 글

    2941번 크로아티아 알파벳 풀이  (2) 2018.01.17
    10828번 스택 풀이  (0) 2018.01.13
    1100번 하얀 칸 풀이  (0) 2018.01.09
    1026번 보물 풀이  (0) 2018.01.03
    1037번 약수 풀이  (2) 2018.01.02
Designed by Tistory.