/*
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!\n");
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
int t,n,i,a[100001]={},j; //a[i]=i라는 숫자가 들어온 횟수
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&t); ----3014 테이터 정렬 정렬을 빠르게!
a[t]++;
}
//i를 a[i]번 출력(밑에 코드)
for(i=0;i<=100000;i++) //100,000까지의 수를 위의 t에서
{ //저장한 개수만큼 출력한다.
for(j=1;j<=a[i];j++)//(i를 a[i]개 만큼 출력 )
{
printf("%d ",i);
}
}
return 0;
}
상수
push : top을 증가시킴 -> top번째에 데이터 입력
1714
2016
3117
3129
#include <stdio.h>
#define SIZE 500
int stack[SIZE];
int top = -1 ; // top : .마지막으로 입력된 데이터의 위치
void push(int data)
{
//full check
if(top==SIZE-1) return ;
stack[++top]=data; //(top을 먼저 증가시키는 방법)
}
int pop()
{
//empty check
if(top==-1) return -100;
return stack[top--];
}
int main()
{
push(8);
push(9);
push(10);
push(11);
//printf("%d",pop());
while(top!=-1) //스택 전부 pop
{
printf("%d\n",pop());
}
}
*/
/*
#include <stdio.h>
#define SIZE 31
int top=-1;
char stack[SIZE];
void push(char data)
{
if(top==SIZE-1) return ;
stack[++top]=data;
}
char pop()
{
if(top==-1) return -100; --1714 스택 숫자 거꾸로 출력하기
return stack[top--];
}
int main()
{
char str[SIZE];
scanf("%s",str);
for(int i=0;str[i]!=0;i++)
{
push(str[i]);
}
while(top!=-1)
{
printf("%c",pop());
}
return 0;
}
*/
#include <stdio.h>
#define SIZE 301
char stack[SIZE];
int top=-1;
void push(char data)
{
if(top==SIZE-1)
return ;
stack[++top]=data;
}
char pop()
{
if(top==-1)
return -100;
return stack[top--]; ----2016 스택 천단위 분류기호
}
int main()
{
int n,i,c=0;
char a[201]= {};
scanf("%d %s",&n,a);
for(i=n-1; i>=0; i--)
{
push(a[i]);
c++;
if(c%3==0&&c!=n)
{
push(',');
}
}
while(top!=-1)
{
printf("%c",pop());
}
return 0;
}
숙제 3102 0은빼!/3129 올바른 괄호2