/**#include <stdio.h>
typedef struct
{
char ne[11];
int s1;
int s2;
int s3;
}sub;
int main()
{
int n,i,j,k=0,t=0,g=0,l;
sub sm[101];
scanf("%d",&n);
k=n;
g=n;
for(i=0;i<n;i++)
scanf("%s %d %d %d",&sm[i].ne,&sm[i].s1,&sm[i].s2,&sm[i].s3);
for(j=0;j<n;j++)
{
if(sm[j].s1>sm[t].s1)
{
t=j;
}
}
for(j=0;j<n;j++)
{
if(sm[j].s2<=sm[t].s2)
k--;
if(sm[j].s3<=sm[t].s3)
g--;
}
printf("%s %d %d",sm[t].ne,k+1,g+1);
return 0;
}
자료구조
스택, 큐
정렬, 이분탐색
그래프-DFS/BFS
*/
/*
#include <stdio.h>
int stack[1000]={}; // stack[0] stack[1] ...
int top = -1;// top : 마지막 데이터의 '위치'
void view()
{
// 스택의 내용물 전부 보기
printf("stack [ ");
for(int i=0;i<=top;i++)
{
printf("%d ",stack[i]);
}
printf("] top = %d \n",top);
}
void push(int data)
{
top++;
stack[top]=data;
}
void pop()
{
if(top==-1)
{
printf("stack is empty.\n");
return ;
}
printf("pop data is %d\n",stack[top]);
top--;
}
int pop1()
{
if(top!=-1)
{
return stack[top--];
}
}
int main()
{
view();
// 스택에 8 push
// top++;
// stack[top]=8;
push(8);
//스택에 15 push
// top++;
// stack[top]=15;
push(15);
view();
// // 스택에서 pop -> 무조건 맨 위에 데이터 삭제
//// printf("pop data is %d\n",stack[top]);
//// top--;
// pop();
//
// view();
//
// pop();
//
// view();
//
// pop();
//
// view();
while(top!=-1) // 스택에 있는 전부를 뺄때
{
pop();
}
}
#include <stdio.h>
int stack[1001]={},top=-1;
void push(int data1)
{
top++;
stack[top]=data1;
}
int pop()
{
return stack[top--];
}
int main()
{
int n,i,x;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&x);
push(x);
}
while(top!=-1)
printf("%d ",pop());
return 0;
}
#include <stdio.h>
int stack[100001]={},top=-1;
void push(data1)
{
top++;
stack[top]=data1;
}
void pop()
{
if(top==-1)
return;
top--;
}
int main()
{
int x,f=0,n,i;
scanf("%d",&n);
if(n==0)
printf("0");
for(i=0;i<n;i++)
{
scanf("%d",&x);
if(x==0)
pop();
else
push(x);
}
while(top!=-1)
{
f=f+stack[top];
top--;
}
printf("%d",f);
}
#include <stdio.h>
char stack[201]={};
int top=-1;
void push(char v)
{
top++;
stack[top]=v;
}
void pop()
{
printf("%c",stack[top]);
top--;
}
int main()
{
int n,i,f;
char k[201];
scanf("%d %s",&n,k);
for(i=n-1;i!=-1;i--)
{
push(k[i]);
}
f=n%3;
if(f!=0)
{
for(i=0;i<f;i++)
{
pop();
}
if(n!=1 && n!=2 && n!=3)
printf(",");
}
while(top!=-1)
{
pop();
if(top%3==2 && top!=0)
printf(",");
}
}
*/
#include <stdio.h>
char stack[300]={};
int top=-1;
void push(char v)
{
top++;
stack[top]=v;
}
void pop()
{
printf("%c",stack[top--]);
}
int main()
{
int n,i,x=0;
char k[201];
scanf("%d",&n);
scanf("%s",k);
for(i=n-1;i>-1;i--)
{
push(k[i]);
x++;
if(x%3==0 && i!=0)
push(',');
}
while(top!=-1)
{
pop();
}
}