/*
#include <stdio.h>
int main(void)
{
int arr[10][10]={}, i, j, max=0, x=1, y=1;
for(i=1; i<10; i++){
for(j=1; j<10; j++){
scanf("%d", &arr[i][j]);
}
}
for(i=1; i<10; i++){
for(j=1; j<10; j++){
if(arr[i][j]>max){
max=arr[i][j];
x=i;
y=j;
}
}
}
printf("%d\n%d %d", max, x, y);
return 0;
}
*/
/*
#include <stdio.h>
int main(void)
{
int first, second, year, month, day;
char gender;
scanf("%d-%d", &first, &second);
if((second/1000000 )%2==0){
gender = 'F';
}else{
gender = 'M';
}
if((second/10000000)<3){
year=1900+(first/10000);
}else{
year=2000+(first/10000);
}
month=first/100-(first/10000)*100;
day=first-(first/100)*100;
printf("%d/%02d/%02d %c", year, month, day, gender);
return 0;
}
*/
/*
#include <stdio.h>
int main(void)
{
int n, sum=0, m=0;
scanf("%d", &n);
while(n!=0){
m=m*10;
m=m+n%10;
sum=n%10+sum;
n=n/10;
}
printf("%d\n%d", m, sum);
return 0;
}
*/
/*
#include <stdio.h>
int cost(int a, int b, int c, int d)
{
if(a==b && b==c && c==d){
return 50000+(a*5000);
}else if(a==b && b==c && c!=d){
return 10000+(a*1000);
}else if(a!=b && b==c && c==d){
return 10000+(b*1000);
}else if(a==b && b!=c && c==d){
return 2000+((a+c)*500);
}else if(a==b && b!=c && c!=d){
return 1000+(a*100);
}else if(a!=b && b==c && c!=d){
return 1000+(b*100);
}else if(a!=b && b!=c && c==d){
return 1000+(c*100);
}else{
return a*100;
}
}
int main(void)
{
int arr[6][1001]={}, i, j, k, temp, n, sum[1001]={}, max=0;
scanf("%d", &n);
for(i=1; i<=n; i++){
for(j=1; j<=4; j++){
scanf("%d", &arr[j][i]);
}
for(k=4; k>=1; k--){
for(j=1; j<=k; j++){
if(arr[j][i]<arr[j+1][i]){
temp=arr[j][i];
arr[j][i]=arr[j+1][i];
arr[j+1][i]=temp;
}
}
}
sum[i]=cost(arr[1][i], arr[2][i], arr[3][i], arr[4][i]);
if(max<sum[i]){
max=sum[i];
}
}
printf("%d", max);
return 0;
}
*/
/*
#include <stdio.h>
int max[301]={}, arr[301]={}, n;
int f(int a)
{
if(max[a]!=0){
return max[a];
}
if(a==1) return max[1]=arr[1];
else if(a==2) return max[2]=arr[1]+arr[2];
else if(a==3){
if(arr[1]>arr[2]){
return max[3]=arr[1]+arr[3];
}else{
return max[3]=arr[2]+arr[3];
}
}else{
if(f(a-3)+arr[a-1] > f(a-2)){
return max[a] = f(a-3)+arr[a-1]+arr[a];
}else{
return max[a] = f(a-2)+arr[a];
}
}
}
int main(void)
{
int i;
scanf("%d", &n);
for(i=1; i<=n; i++){
scanf("%d", &arr[i]);
}
printf("%d", f(n));
return 0;
}
pointer 주소를 저장하는변수
#include <stdio.h>
void f(int* pa)
{
(*pa)++;
}
int main()
{
int a=10;
f(&a);
printf("a : %d\n",a);
// int* pa = &a;
//
// printf("a : %d\n",a); //직접 참조 (접근)
// printf("&a : %d\n",&a);
// printf("pa : %d\n",pa);
// printf("*pa : %d\n",*pa); //간접 참조
//
// *pa=50;
//
// printf("a : %d\n",a);
}
*/
/*
#include <stdio.h>
//void f(int* pa, int n)
//{
// // (*pa)++;
// for(int i=0;i<n;i++)
// {
// //pa[i]++;
// //(*(pa+i))++;
// }
//}
int main()
{
// int arr[50]={1,2,3,4,5};
// for(int i=0;i<5;i++){
// printf("%d ",arr[i]);
// }
// printf("\n");
//
// f(arr,5);
//
// for(int i=0;i<5;i++){
// printf("%d ",arr[i]);
// }
}
*/
/*
#include <stdio.h>
void myswap(int* pa, int* pb)
{
int temp;
if((*pa)>(*pb)){
temp=(*pa);
(*pa)=(*pb);
(*pb)=temp;
}
}
int main(void)
{
int a, b;
scanf("%d %d", &a, &b);
myswap(&a, &b);
printf("%d %d", a, b);
return 0;
}
*/
/*
#include <stdio.h>
#include <string.h>
char *mysubstr(char *str, int start, int count)
{
str[start+count]=NULL;
return &str[start];
}
int main(void)
{
char str[100];
int start, count;
scanf("%s", &str);
scanf("%d %d", &start, &count);
printf("%s", mysubstr(str, start, count));
return 0;
}
Data Structure 자료구조
1. Stack 2. queue 3. LinkedList (B) 4. Tree(B) 5. Graph(dfs/bfs)
6. Sort 7. Search
STACK : 쌓는거
*/
/*
#include <stdio.h>
#include <string.h>
int main(void)
{
char str[11]={};
char stack[11]={};
int top=-1;
scanf("%s", str);
for(int i=0;str[i]!=0;i++){
top++;
stack[top]=str[i];
}
while(top!=-1){
printf("%c",stack[top--]);
}
return 0;
}
*/
/*
#include <stdio.h>
#include <string.h>
int main(void)
{
int stack[100001]={}, i, n, top=0, sum=0;
scanf("%d", &n);
for(i=1; i<=n; i++){
top++;
scanf("%d", &stack[top]);
if(stack[top]==0){
top--;
stack[top]=0;
top--;
}
}
for(i=1; i<=top; i++){
sum = stack[i]+sum;
}
printf("%d", sum);
return 0;
}
*/
#include <stdio.h>
#include <string.h>
int main(void)
{
int n, top=0, i, mod=0, num=0;
char str[201]={}, stack[300]={};
scanf("%d", &n);
scanf("%s", str);
for(i=n-1; i>=0; i--){
top++;
stack[top]=str[i];
if(top%3==mod && (top-num)!=n){
num++;
top++;
stack[top]=',';
mod ++;
if(mod==3){
mod=0;
}
}
}
while(top!=0){
printf("%c", stack[top]);
top--;
}
return 0;
}