만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

괄호

시간 제한1초메모리 제한128 MB

요약
각 코드 줄에 대해 '#' 줄이 나오기 전까지 괄호가 짝을 이루고 올바르게 중첩되었는지 판정한다.
난이도

쉬움10점 중 3점

유형
스택, 문자열
정답자
아직 제출이 없습니다

문제

C나 Java로 프로그래밍을 해 봤다면 괄호를 다루는 데 익숙할 것입니다. 이 문제에서는 소괄호 (), 대괄호 [], 중괄호 {} 세 종류의 괄호를 다룹니다. 모든 여는 괄호에는 그에 대응하는 닫는 괄호가 있어야 하며, 괄호는 올바르게 중첩되어 있어야 합니다.

여러 개의 코드 조각이 주어집니다. 각 코드 조각의 괄호가 올바른지 판별하세요. 문제를 단순하게 하기 위해, 따옴표 안에 들어 있는 괄호는 없다고 가정합니다. 또한 줄바꿈 문자는 모두 제거되어 있으므로, 입력의 한 줄이 검사해야 할 하나의 코드 조각을 나타냅니다.

입력

입력은 여러 줄의 텍스트(코드)로 이루어지며, 각 줄의 길이는 250자를 넘지 않습니다. 입력의 마지막 줄은 # 한 글자로만 이루어져 있으며, 이 줄은 무시합니다. # 줄 이전의 각 줄에 대해 괄호가 올바른지 검사하여 그 결과를 출력해야 합니다.

출력

각 코드 조각에 대해, 괄호가 하나도 없거나 모든 괄호가 올바르게 짝지어지고 중첩되어 있으면 한 줄에 Legal을 출력합니다. 오류가 있으면 한 줄에 Illegal을 출력합니다.

예제1

  1. 예제 1

    입력
    void test(int num) { num = double(num); }
    int count(int value) { return (value + 2; }
    while(sum < 200) { sum += data[test(sum]); }
    #
    
    예상 출력
    Legal
    Illegal
    Illegal