top of page

소스 코드 제출

공개·회원 52명

#include <stdio.h>

char data[55555] = {}; //gets에 받기

char fin[55555] = {}; //마지막에 출력 할때 씀

char input[55555] = {}; //원소 체크 (pop 상호작용 가능)

int n = 0; //input top

int popp=0; //pop 겹치기 확인 (0일때는 겹치기, 1일때는 겹치지 않기)

int push()

{

    int k = 0;

    int top = 7;

    if(strlen(data)==9) //원소 개수가 하나 일때

    {

        k=data[top-1]-48;

    }

    else

    {

        for(int j=6;j<strlen(data)-2;j++) //원소 개수가 여러개 일때

        {

            k=(k+data[j]-48)*10;

        }

        k=k/10;

    }

    fin[n]=k;

    input[n]=k;

    top++;

    n++;

}

int topp(int top)

{

    if(input[top-1]==0)

    {

        fin[n]=-1;

    }

    else

    {

        fin[n]=input[top-1];

    }

    n++;

}


int pop()

{

    input[n-2]=0;

    n-=2;

}


int size()

{

    int k=0;

    for(int i=0;i<205;i++)

    {

        if(input[i]!=0)

        {

            k++;

        }

    }

    fin[n]=k;

    n++;

}


int empty()

{

    int i;

    for(i=0;i<205;i++)

    {

        if(input[i]!=0)

        {

            break;

        }

    }

    if(i==205)

    {

        fin[n]='t';

    }

    else

    {

        fin[n]='f';

    }

    n++;

}


int main()

{

    int c,top = 0;

    scanf("%d\n",&c);

    for(int i=0;i<c;i++)

    {

        gets(data);

        if(data[1]=='u') //push()

        {

            push();

        }

        else if(data[0]=='t') //top()

        {

            topp(top);

        }

        else if(data[1]=='o') //pop()

        {

            pop();

        }

        else if(data[0]=='s') //size()

        {

            size();

        }

        else if(data[0]=='e') //empty()

        {

            empty();

        }

        top++;

    }

    for(int i=0;i<205;i++) //<--여기가 문제!! 해결 비림

    {

        if(fin[i]==0)

        {

            break;

        }

        if(fin[i]=='t')

        {

            printf("true\n");

            continue;

        }

        else if(fin[i]=='f')

        {

            printf("false\n");

            continue;

        }

        printf("%d\n",fin[i]);

    }

    return 0;

}

12회 조회
주소 : 경기도 용인시 광교중앙로 302 블루 스퀘어 602호
연락처 : 031) 216 - 1546 ,     031) 215 - 1546
사업자등록번호 : 465-92-00916
​학원 등록 제 4603호
bottom of page