top of page

게시판 게시물

starkim922
2024년 5월 11일
In 소스 코드 제출
/* #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } */ #include <stdio.h> int main(){ int i,m=1,n,x=1; scanf("%d",&n); while(1){ if(x>n){ x/=2; break; } x=x*2; } printf("%d",x); return 0; }
0
0
1
starkim922
2024년 5월 05일
In 소스 코드 제출
/* #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } 5301 #include <stdio.h> int main() { int n,k,p,i,x,z=0,s=0; scanf("%d %d %d",&n,&k,&p); for(i=1; i<=n; i++) { z=0; // i 번째 묶음 k개 판단하기 ( 팔 수 있는지? 없느닞?) for(int j=1; j<=k; j++) { scanf("%d",&x); if(x==0) // 방금 들어온 빵이 크림이 없는가? { z++; } } if(z<p)// z(이 묶음에 크림이 없는것)이 p개 미만이라면 ? { s++; } } printf("%d",s); return 0; } */ #include <stdio.h> int arr[101]={}; int arr2[101]={}; int f(int n) { int i; for(int i=1; i<=n; i++) { if(arr[i]%2!=0) { arr[i]=0; } } int j=1; if(j==2) { printf("%d",j); } for(int i=1; i<=n; i++) { if(arr[i]!=0) { arr2[j]=arr[i]; j++; } } } int main() { int arr[101]={}; int arr2[101]={}; int n,x; scanf("%d",&n); for(int i=1; i<=n; i++) { arr[i]=i; } return 0; }
0
0
2
starkim922
2024년 5월 04일
In 소스 코드 제출
/**5287 #include <stdio.h> int main(){ int n,a,b,min=1001; scanf("%d",&n); for(int i=1; i<=n; i++){ scanf("%d %d",&a,&b); if(a<=b) { if(b<min) min=b; } } if(min==1001) printf("-1"); else printf("%d",min); return 0; } 16줄*/ #include <stdio.h> int main() { int n,k,p,i,x,z=0,c; scanf("%d %d %d",&n,&k,&p); for(i=1; i<=n; i++) { scanf("%d",&x); for(int j=1; j<=k; j++) { x=x+0; k=k-(p-1); c=k-p if(x<=k && x>c) { z++; } } } printf("%d ",z); return 0; }
0
0
1
starkim922
2024년 4월 28일
In 소스 코드 제출
/*#include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } //* #include <stdio.h> int main() { int arr[101]={}; int n; scanf("%d",&n); if(arr[2]!=0) { for(int i=1; i<=n; i++) { if(arr[i]/2!=0) { arr[i]=0; } else { arr[i]=arr[i]; } } } printf("%d",arr[1]); return 0; } */ #include <stdio.h> int main() { int n,a,b,x=10000; scanf("%d",&n); for(int i=1 ;i<=n; i++) { scanf("%d %d",&a,&b); if(a<=b) { if(b<x) { x=b; } } } if(x==10000) { { printf("-1"); } else { printf("%d",x); } }
0
0
4
starkim922
2024년 4월 27일
In 소스 코드 제출
/*#include <stdio.h> #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } #include <stdio.h> int main() { int n,m,a; int arr[100001]={}; scanf("%d",&n); for(int i=1; i<=n; i++) { scanf("%d",&m); arr[m]++; } for(int i=0; i<=100000; i++) { for(int j=1; j<=arr[i]; j++) { printf("%d ",i); } } return 0; } 4911 #include <stdio.h> int main() { int arr[100001]={}; int m,h=0,n; scanf("%d",&m); for(int i=m; i>=1; i--) { scanf("%d",&arr[i]); } n=arr[1]; for(int i=1; i<=m; i++) { if(n<arr[i]) { h++; n=arr[i]; } } printf("%d",h+1); } */ #include <stdio.h> int main() { int arr[101]={}; int n; scanf("%d",&n); for(int i=1; i<=n; i++) { arr[i]+1; } }
0
0
6
starkim922
2024년 4월 21일
In 소스 코드 제출
/* int main() { printf("Hello world!\n"); return 0; } // #include <stdio.h> int arr[50001]={}; // 정렬 한 배열 int bs(int s, int e, int k) // arr[start] ~ arr[end] 에 k 값의 위치를 리턴, 없다면 -1리턴 { if(s>e) return -1; int mid = (s+e)/2; if(arr[mid]==k) return mid; else if(arr[mid]>k) return bs(s,mid-1,k); else return bs(mid+1,e,k); } int main() { int n,a,j,i,t; int brr[50001]={}; // 정렬 안 한 배열 scanf("%d",&n); for(i=1; i<=n ;i++){ scanf("%d",&arr[i]); brr[i]=arr[i]; } for(i=1; i<n; i++){ for(j=1; j<=n-i; j++){ if(arr[j]>arr[j+1]){ t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } } } for(i=1; i<=n; i++){ // brr[i]가 arr에 어디에 있는지? printf("%d ",bs(1,n,brr[i])); } return 0; } //#include <stdio.h> //int arr[4500001]={}; //int bs(int s, int e, int k) //{ // if(s>e) return -1; // int mid = (s+e)/2; // if(arr[mid]==k) return mid; // else if(arr[mid]>k) return bs(s,mid-1,k); // else return bs(mid+1,e,s); //} //int main() //{ // int n,a,j,i,t; // int brr[100001]={}; // scanf("%d",&n); // for(int i=1; i<=n; i++) // { // scanf("%d",&arr[i]); // } // for(i=1; i<n; i++) // { // for(j=1; j<=n-i; j++) // { // if(arr[j]>arr[j+1]) // { // t=arr[j]; // arr[j]=arr[j+1]; // arr[j+1]=t; // } // } // } // for(int i=1; i<=n; i++){ // printf("%d ",bs(i,n,brr[i])); // } //} arr[i] :i번째 입력된 데이터 (x) i에 대한 메모 (o) ex) i가 입력된 횟수 // #include <stdio.h> int main() { int arr[24]={}; int n,m; scanf("%d",&n); for(int i=1; i<=n; i++) { scanf("%d",&m); arr[m]++; } for(int i=1; i<=23; i++) { printf("%d ",arr[i]); } return 0; } a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] .... a[10만] 0 1 2 0 0 1 0 0 1 ... 0 -> i를 a[i]번 출력 1 2 2 5 8 */ #include <stdio.h> int main() { int n,m; int arr[100001]={}; scanf("%d",&n); for(int i=1; i<=n; i++) { scanf("%d",&m); arr[m]++; } for(int i=0; i<=100000; i++) { for(int j=0;j<arr[i];j++) // arr[i]번 반복 { printf("%d ",i); } } return 0; }
0
0
2
starkim922
2024년 4월 20일
In 소스 코드 제출
/* #include <stdio.h> typedef struct { int score,num; }student; int main() { int n,a,j,i; student arr[50001]={}; student t; scanf("%d",&n); for(i=1; i<=n ;i++) { scanf("%d",&arr[i].score); } for(i=1; i<n; i++) { for(j=1; j<=n-i; j++) { if(arr[j].score>arr[j+1].score) { t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; arr[j].num=j; } } } for(int j = 1; j<=n; j++) { printf("%d ",arr[j].num); } return 0; } */ /* #include <stdio.h> int arr[50001]={}; // 정렬 한 배열 int bs(int s, int e, int k) // arr[start] ~ arr[end] 에 k 값의 위치를 리턴, 없다면 -1리턴 { if(s>e) return -1; int mid = (s+e)/2; if(arr[mid]==k) return mid; else if(arr[mid]>k) return bs(s,mid-1,k); else return bs(mid+1,e,k); } int main() { int n,a,j,i,t; int brr[50001]={}; // 정렬 안 한 배열 scanf("%d",&n); for(i=1; i<=n ;i++){ scanf("%d",&arr[i]); brr[i]=arr[i]; } for(i=1; i<n; i++){ for(j=1; j<=n-i; j++){ if(arr[j]>arr[j+1]){ t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } } } for(i=1; i<=n; i++){ // brr[i]가 arr에 어디에 있는지? printf("%d ",bs(1,n,brr[i])-1); } return 0; } 이분 탐색 binary search -> bs << 정렬이 되어있는 경우, 반씩 나누면서 찾기>> 5번만 물어보면 k가 어디있는지? 없는지? 알 수 있따! 순차 탐색 100번 물어보면 무조건 k가 어디이쓴지?없는지? 2084 #include <stdio.h> int arr[10000000]={}; int bs(int s,int e,int k) { if(s>e) return -1; // 못찾았으면? int mid = (s+e)/2; if(arr[mid]==k) return mid; else if(arr[mid]>k) return bs(s,mid-1,k); else return bs(mid+1,e,k); } int main() { int n,m,s,a; scanf("%d",&n); for(int i=1; i<=n; i++) { scanf("%d",&arr[i]); } scanf("%d",&s); for(int i=1; i<=s; i++) { scanf("%d",&a); printf("%d\n",bs(1,n,a)); } return 0; } */ #include <stdio.h> int bs(int s,int e,int k) { if(s>e) return -1; int mid = (s+e)/2; if(arr[mid]==k) bs } int main() { }
0
0
2
starkim922
2024년 4월 14일
In 소스 코드 제출
/* #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } 1236 #include <stdio.h> typedef struct { int num,score,ioc; }student; int main() { student t; student arr[9999]; int n,x,z; scanf("%d",&n); for(int i=1; i<=n; i++) { scanf("%d %d",&arr[i].score,&arr[i].ioc); arr[i].num=i; } for(int i=1; i<n; i++) { for(int j=1; j<=n-i; j++) { if(arr[j].score<arr[j+1].score) { t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } else if(arr[j].score==arr[j+1].score) { if(arr[j].ioc<arr[j+1].ioc) { t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } else if(arr[j].ioc==arr[j+1].ioc) { if(arr[j].num>arr[j+1].num) { t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } } } } } for(int i=1; i<=n; i++) { printf("%d %d %d\n",arr[i].num,arr[i].score,arr[i].ioc); } return 0; } 3015 #include <stdio.h> typedef struct { char name[15]; int score; }student ; int main() { student t; int n,m; student arr[101]; scanf("%d %d",&n,&m); for(int i=1; i<=n; i++) { scanf("%s %d",arr[i].name,&arr[i].score); } for(int i=1; i<n; i++) { for(int j=1; j<=n-i; j++) { if(arr[j].score<arr[j+1].score) { t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } } } for(int i=1; i<=m; i++) { printf("%s\n",arr[i].name); } } */ #include <stdio.h> typedef struct { int score,num; }student ; int main() { int n,a,j,i; student arr[50001]={}; student t; scanf("%d",&n); for(i=1; i<=n ;i++) { scanf("%d",&arr[i].score); arr[i].num=i; } for(i=1; i<n; i++) { for(j=1; j<=n-i; j++) { if(arr[j].score>arr[j+1].score) { t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } arr[j].num=j; } } for(i=1; i<=arr[i].num; i++) { printf("%d ",arr[j].num); } return 0; }
0
0
2
starkim922
2024년 4월 07일
In 소스 코드 제출
/* #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } 1805 #include <stdio.h> typedef struct { int score; int core; }student; int main() { student arr[99999]={}; int n; student t; scanf("%d",&n); for(int i=1; i<=n; i++) { scanf("%d %d",&arr[i].core,&arr[i].score); } for(int i=1; i<n; i++) { for(int j=1; j<=n-i; j++) { if(arr[j].core>arr[j+1].core) { t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } } } for(int i=1; i<=n; i++) { printf("\n%d %d\n",arr[i].core,arr[i].score); } return 0; } // char s1[10]="hello"; // char s2[10]="apple"; // printf("%d",strcmp(s1,s2)); // // strcmp(s1,s2) : s1와 s2가 사전식순서로 있다면 <0 // s1과 s2가 같은 문자열 이라면 ==0 // s2와 s1이 사전식순서대로 있다면 >0 3019 #include <stdio.h> typedef struct { int day; char name[101]; }student; int main() { int n,z=0; int y, m, d; int value; student t; student arr[1000]={}; scanf("%d",&n); for(int i=1; i<=n; i++) { scanf("%s %d %d %d",arr[i].name,&y,&m,&d); arr[i].day = y*10000+m*100+d; } for(int i=1; i<n; i++) { for(int j=1; j<=n-i; j++) { if(arr[j].day>arr[j+1].day) { t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } else if(arr[j].day==arr[j+1].day) { if(strcmp(arr[j].name,arr[j+1].name)>0) { t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } } } } for(int i=1; i<=n; i++) { printf("%s\n",arr[i].name); } return 0; } 버블 : 코드가 sooo easy but sooo slow 선택 : 코드가 for human 삽입 : 코드가 a little bit hard but 어느정도 정렬이 되어있는 배열 에서 sooo fast 5 1 4 2 1 7 78 9 5 4 26 4 4 -> 버블 선택 삽입 아무거나 9 8 7 6 1 2 4 5 4 3 2 1 -> 삽입정렬이 나머지애들보다 빠르더라~ 1443 #include <stdio.h> int a[10001]; int n, i, j, temp, key; int main() { scanf("%d", &n); for (i = 1; i <= n; i++) scanf("%d", &a[i]); for (i=2; i<=n; i++) { key=a[i]; for(j = i-1; j>=1 && key<a[j] ; j--) { a[j+1]=a[j]; } a[j+1]=key; } for (i=1; i<=n; i++) printf("%d\n", a[i]); return 0; } */ #include <stdio.h> int main() { }
0
0
4
starkim922
2024년 4월 06일
In 소스 코드 제출
/* #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } 3011 #include <stdio.h> int main() { int arr[10001]; int n,i,j,t,z=0,a; scanf("%d",&n); for(i=1; i<=n; i++) { scanf("%d",&arr[i]); } for(i=1; i<n; i++) { z=0; for(j=1; j<=n-i; j++) { if(arr[j]>arr[j+1]) { t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; z++; } } if(z==0) // 바꾼 적이 한 번도 없다면?? { break; } } printf("%d",i-1); return 0; } 4501 #include <stdio.h> int main() { int arr[101]={}; int n=7,t; for(int i=1; i<=n; i++) { scanf("%d",&arr[i]); } for(int i=1; i<n; i++) { for(int j=1; j<=n-i; j++) { if(arr[j]>arr[j+1]) { t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } } } printf("%d\n%d",arr[7],arr[6]); return 0; } */ #include <stdio.h> typedef struct { int score; char name[100]; }student; int main() { int n; student t; student arr[55]={}; scanf("%d ",&n); for(int i=1; i<=n; i++) { scanf("%s %d",arr[i].name,&arr[i].score); } for(int i=1; i<n; i++) { for(int j=1; j<=n-i; j++) { if(arr[j].score<arr[j+1].score) { t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } } } printf("%s ",arr[3].name); return 0; }
0
0
4
starkim922
2024년 3월 31일
In 소스 코드 제출
/* #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } */ /* #include <stdio.h> int queue [200]={}; int front=-1; int stack[201]={}; int top=-1; int rear=-1; int push(int x) { queue[rear]=x; rear++; } int pop() { if(top==-1) return ; return stack[top--]; } int pop2() { if(front!= stack) { front++; return queue[front]; } } int main() { int n,num; char str[99999]; scanf("%d\n",&n); for(int i=1; i<=n; i++) { gets(str); if(str[0]=='p' && str[1]=='u') { num=0; for(int j=6; str[j]!=' '; j++) { num=num*10+str[j]-'0'; } push(num); } else if(str[0]=='t') { if(top==-1) { printf("-1\n"); } } else if(str[0]=='p' && str[1]=='o') { pop2(); } else if(str[0]=='s') { printf("%d\n",rear-front); } else { if(front==rear) { printf("true\n"); } else { printf("false\n"); } } } return 0; } 정렬(sort) : 바르게 배열하는것 ( 오름차순 or 내림차순) - easy but slow (ex)버스) -> 버블, 선택, 삽입 - hard but fast (ex)비행기) -> (퀵, 병합), 기수, 힙, ...... 1. " 어떤 종류의 정렬이 무조건 빠르다 " (x) 집갈때 비행기를 타면 무조건 빠르다 (x) 버블정렬 (두개씩 비교하면서 바꾸는거) n=5 5 1 4 2 3 round1) i=1 [5 1] 4 2 3 j=1 1 [5 4] 2 3 j=2 1 4 [5 2] 3 j=3 1 4 2 [5 3] j=4 1 4 2 3 "5" round2) i=2 [1 4] 2 3 "5 j=1 1 [4 2] 3 "5 j=2 1 2 [4 3] "5 j=3 1 2 3 "4 5 round3) i=3 [1 2] 3 "4 5 j=1 1 [2 3] "4 5 j=2 1 2 "3 4 5 round4) i=4 1 " 2 3 4 5 j=1 -> 5개 중에 4개가 자기자리에있어, 그렇다면? 모두 자기자리에 있다 !!!정렬 끝~ 1 2 3 4 5 */ /* #include <stdio.h> int a[10001]; int n, i, j, temp; int main() { scanf("%d", &n); for (i=1; i<=n; i++) scanf("%d", &a[i]); for(i=1; i<n; i++)// { for(j=1; j<=n-i; j++)// { if (a[j] > a[j+1]) { temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } for (i = 1; i <= n; i++) printf("%d\n", a[i]); return 0; } 1709 버블정렬 #include <stdio.h> int main() { int arr[10001]; int n,t,i,j; scanf("%d",&n); for(i=1; i<=n; i++) { scanf("%d",&arr[i]); } for(i=1; i<=n; i++) { for(j=1; j<=n-i; j++) { if(arr[j]<arr[j+1]) { t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } } } for(i=1; i<=n; i++) { printf("%d\n",arr[i]); } return 0; } 선택정렬 : 맨 앞자리에 와야 할 숫자를 선택하기 5 1 4 2 3 1" 5 4 2 3 1 2 " 4 5 3 1 2 3 " 5 4 1 2 3 4 " 5 1442 #include <stdio.h> int a[10001]; int n, i, j, temp, min; int main() { scanf("%d", &n); for (i = 1; i <= n; i++) scanf("%d", &a[i]); for (i=1; i<n; i++) { min=i; // min : 최소값의 위치 for (j=i+1; j<=n; j++) { if(a[min]>a[j]) { min=j; } } temp = a[i]; a[i] = a[min]; a[min] = temp; } for (i=1; i<=n; i++) printf("%d\n", a[i]); return 0; } 1709 선택정렬 #include <stdio.h> int main() { int arr[100001]={}; int n,j,i,t,min; scanf("%d",&n); for(i=1; i<=n; i++) { scanf("%d",&arr[i]); } for(i=1; i<n; i++) { min=i; for(j=i+1; j<=n; j++) { if(arr[min]<arr[j]) { min=j; } } t=arr[i]; arr[i]=arr[min]; arr[min]=t; } for(i=1; i<=n; i++) { printf("%d ",arr[i]); } return 0; } 버블정렬의 최악의 상황 1 2 3 4 5 .... 98 100 99 round1) 99번비교 1 2 3 4 5 ...... 99 "100" round2) 98번비교 1 2 3 4 5 . . .98 "99 100" */ #include <stdio.h> int main() { int arr[10001]; int n,i,j,t,z=0; scanf("%d",&n); for(i=1; i<n; i++) { scanf("%d",&arr[i]); } for(i=1; i<n; i++) { z=0; for(j=1; j<=n-i; j++) { if(arr[j]>arr[j+1]) { t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; z++; } } if(z==0) { break; } } return 0; }
0
0
8
starkim922
2024년 3월 30일
In 소스 코드 제출
/* #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } 5137 #include <stdio.h> #include <string.h> rear=-1; front=-1; queue[200501]={}; int push(int n) { queue[rear]=n; rear++; } int pop() { queue[front] = 0; front++; } int main() { int x=100000,a,num, min,z=0; char str[100000]={}; scanf("%d\n",&a); for(int i=1; i<=a; i++) { gets(str); if(str[0]== '+') { num = 0; for(int j=2; j<strlen(str); j++) { num = num*10+str[j]-'0'; } push(num); } else if(str[0]=='-') { pop(); } else { min = 99999999; for(int j=front; j<rear; j++) { if(min > queue[j]) { min = queue[j]; } } printf("%d\n",min); } } return 0; } */ #include <stdio.h> int queue [200]={}; int front=-1; int stack[201]={}; int top=-1; int rear=-1; int push(int x) { queue[rear]=x; rear++; } int pop() { if(top==-1) return ; return stack[top--]; } int pop2() { if(front!=stack) { front++; return queue[front]; } } int main() { int n,num; char str[99999]; scanf("%d\n",&n); for(int i=1; i<=n; i++) { gets(str); if(str[0]=='p' && str[1]=='u') { num=0; for(int j=6; j<strlen(str); j++) { num=num*10+str[j]-'0'; } push(num); } else if(str[0]=='t') { pop(); } else if(str[0]=='p' && str[1]=='o') { pop2(); } else if(str[0]=='s') { printf("%d",rear-front); } else { if(queue==-1) { printf("true"); } else { printf("false"); } } } }
0
0
3
starkim922
2024년 3월 24일
In 소스 코드 제출
/* #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } 3127 #include <stdio.h> #include <string.h> int top=-1; int stack[201]={}; void push(int n) { top++; stack[top]=n; } int pop() { if(top!=-1) { return stack[top--]; } } int main() { char str[201]={}; int x,y,z,num=0,a,b; gets(str); for(int i=0; str[i]!=NULL; i++) { if('0'<=str[i]&&str[i]<='9') { num=num*10+(str[i]-'0'); if(str[i+1]==' ') { push(num); num=0; } } else if(' '!=str[i]) { a=pop(); b=pop(); if(str[i]=='+') { push(a+b); } else if(str[i]=='-') { push(b-a); } else if(str[i]=='*') { push(a*b); } } } while(top!=-1) { printf("%d",pop()); } return 0; } stack vs queue 쌓는거 통과하는거 엘리베이터 에스컬레이터 3103 #include <stdio.h> #include <string.h> int queue[200]={}; int front=-1; int back=-1; int stack[201]={}; int push(int x) { back++; queue[back]=x; } int pop() { if(front!=back) { front++; return queue[front]; } } int main() { char str[201]={ }; int n,a,num,x; scanf("%d\n",&n); for(int i=1; i<=n; i++) { gets(str); if(str[0]=='p' && str[1]=='u') { num=0; for(int j=6; str[j]!=' '; j++) { num = num*10+str[j]-'0'; } push(num); } else if(str[0]=='p' && str[1]=='o') { pop(); } else if(str[0]=='b') { if(front==back) { printf("-1\n"); } else { printf("%d\n",queue[back]); } } else if(str[0]=='f') { if(front==back) { printf("-1\n"); } else { printf("%d\n",queue[front+1]); } } else if(str[0]=='s') { printf("%d\n",back-front); } else { if(front == back) { printf("true\n"); } else { printf("false\n"); } } } return 0; } */ #include <stdio.h> #include <string.h> rear=-1; front=-1; queue[201]={}; int push(int z) { rear++; queue[rear]=z; } int pop() { front++; return quere[front]; } int main() { char str[200001]={}; int x,n,num,sum=0,a=999999; scanf("%d",&x); for(int i=12; i<=x; i++) { gets(str); if(str[0] == '+') { for(int j=2; str[j] !=' '; j++) { num = num*10 + str[j]-'0'; } push(num); } else if(str[0] == '-') { pop(); } else { if(back<=x<=front) { sum=sum+str[x]='0'; if(a>x) { a=x; printf("%d",a); } } } } }
0
0
3
starkim922
2024년 3월 23일
In 소스 코드 제출
/* #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } 3021 #include <stdio.h> #include <string.h> char a[101]={}; char b[101]={}; char e; int topa,topb; int stack[201]={}; int top=-1; void push(int x) { top++; stack[top]=x; } int pop() { if(top!=-1) { return stack[top--]; } } int popa() { if(topa!=-1) { return a[topa--]-'0'; } else { return 0; } } int popb() { if(topb!=-1) { return b[topb--]-'0'; } else { return 0; } } int main() { int c=0,num=0,s=0,s1=0; scanf("%s %s",a,b); topa = strlen(a)-1; topb = strlen(b)-1; while(1) { num=popa()+popb()+c; c=num/10; push(num%10); if(topa==-1 && topb==-1) { break ; } } if(c==1) push(1);9 while(top!=-1) { printf("%d",pop()); } return 0; } */ #include <stdio.h> #include <string.h> int top=-1; int stack[201]={}; void push(int n) { top++; stack[top]=n; } int pop() { if(top!=-1) { return stack[top--]; } } int main() { char str[201]={}; int x,y,z,num=0,a,b; gets(str); for(int i=0; str[i]!=NULL; i++) { if('0'<=str[i]&&str[i]<='9') { if(str[i+1]==' ') { push(num); num=0; } } else if(' '!=str[i]) { a=pop(); b=pop(); if(str[i]=='+') { push(a+b); } else if(str[i]=='-') { push(b-a); } else if(str[i]=='*') { push(a*b); } } } while(top!=-1) { printf("%d",pop); } return 0; }
0
0
3
starkim922
2024년 3월 17일
In 소스 코드 제출
/* #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } 4833 #include<stdio.h> #include <string.h> int main() { int top=0,sum=0; char str[100000]={}; scanf("%s",str); for(int i=0; str[i]!=NULL; i++) { if(str[i]=='('&& str[i+1]=='(') { top++; } else if(str[i]=='(' && str[i+1]==')') { sum+=top; } else if(str[i-1]!='(' && str[i]==')') { top--; sum++; } } printf("%d",sum); } 3321 str[0] = '3' str[1] = '3' str[2] = '2' *////선생님 작동 중지가 나와요. #include <stdio.h> #include <string.h> char a[101]={}; char b[101]={}; int topa, topb; int stack[201]={}; int top=-1; void push(int x) { top++; stack[top]=x; } int pop() { if(top!=-1) return stack[top--]; } int popa() { if(topa!=-1) return a[topa--]-'0'; else { return 0; } } int popb() { if(topb!=-1) return b[topb--]-'0'; else { return 0; } } int main() { int c = 0, num=0; //올림수 scanf("%s %s",a,b); topa = strlen(a)-1; topb = strlen(b)-1; while(1) { //a에서 pop한거 + b에서 pop한거 + c(올림수) 계산 num= popa()+popb()+c; // 위에서 계산한 수의 십의자리수는 c올림수에 저장 c=num/10; //위에서 계산한 수의 일의자리수는 결과스택에 push push(num%10); if(topa==-1 && topb==-1) //계산할 게 없다면 { break; } } //////////////////////////////// //결과 스택의 모든 숫자 출력하기// while(top!=-1) { printf("%d",pop()); } return 0; }
0
0
2
starkim922
2024년 3월 16일
In 소스 코드 제출
/* #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } 3129 #include <stdio.h> #include <string.h> int top=-1; int main() { int n=0,m=0,s=0; char str[50001]={}; scanf("%s",str); for(int i=0; str[i]!=NULL; i++) { if(str[i]=='(') { n++; if(n==m) { n=0; m=0; } } else { if(n==0) { s++; } if(n==m) { n=0; m=0; } else { m++; } } } //printf("%d %d %d",n,m,s); if(m==n && s==0) { printf("good"); } else { printf("bad"); } return 0; }*/ /* #include <stdio.h> #include <string.h> int main() { int top=0, sum=0; // top : 현재 놓인 막대기 개수 // sum : 총 잘린 조각 개수 char str[100000]={}; scanf("%s",str); for(int i=0; str[i]!=0; i++) { if(str[i]=='('&& str[i+1]=='(') //새로운 막대기가 놓였다면 { top++; } else if(str[i]=='(' && str[i+1]==')') //레이저가 나왔다면 { sum+=top; } else if(str[i-1]!='(' && str[i]==')') //막대기가 끝날때 { top--; sum++; } } printf("%d",sum); } */
0
0
5
starkim922
2024년 3월 10일
In 소스 코드 제출
/* #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } 3102 선생님 이 풀어준 문제 #include <stdio.h> int stack[201]={}; int top=-1; void push(int n) { top++; stack[top]=n; } int pop() { if(top==-1) return ; return stack[top--]; } // '0' = 48 // '1' = 49 // '5'- (48 ='0') = 5 int main() { int n,x=0,m,num,z=6; char str[101]={}; scanf("%d\n",&m); for(int i=1; i<=m; i++) { gets(str); if(str[0]=='p' && str[1]=='u') { num=0; for(int j=6; str[j]!=' '; j++) { num=num*10+(str[j]-'0'); } push(num); } else if(str[0] =='t' ) { if(top==-1) { printf("-1\n"); } else { printf("%d\n",stack[top]); } } else if(str[0]== 's' ) { printf("%d\n",top+1); } else if(str[0]=='p' && str[1]=='o' ) { pop(); } else { if(top==-1) { printf("true\n"); } else { printf("false\n"); } } } return 0; } stack의 push, pop 전부 구현하고.... (x) stack의 개념만 사용 하여 아이디어를 생각하는게 포인트 (o) */ #include <stdio.h> #include <string.h> int top=-1; int main() { int n=0,m=0; char str[50001]={}; scanf("%s",str); 1==')'; 2=='('; if(str==1) { n++; } else { m++; } printf("%d %d",n,m); /* if(n==m) { printf("good"); } else { printf("bad"); }*/ return 0; }
0
0
3
starkim922
2024년 3월 09일
In 소스 코드 제출
/* #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } 2016 #include <stdio.h> char stack[201]={}; int top=-1; void push(char n) { top++; stack[top]=n; } char pop() { if(top==-1) return ; return stack[top--]; } int main() { int m,n=0; char str[201]={}; scanf("%d ",&m); scanf("%s",str); for(int i=m-1; i>=0; i--) { push(str[i]); n=n+1; if(n%3==0 && m!=n) { push(','); } } while(top!=-1) { printf("%c",pop()); } return 0; } */ #include <stdio.h> char stack[201]={}; int top=-1; void push(char n) { top++; stack[top]=n; } char pop() { if(top==-1) return ; return stack[top--]; } int main() { char str[101]={}; int n,x=0,m; scanf("%d",&m); for(int i=1; i<=m; i++) { scanf("%s\n",str); } if(str[0]=='p' && str[1]=='u' && str[2]=='s' && str[3]=='h') { push(str[7]); } else if(str[0]=='t' && str[1]=='o' && str[2]=='p') { x=x+1; } else if(str[0]=='s' && str[1]=='i' && str[2]=='z' && str[3]=='e') { printf("%d",&x); } else if(str[0]=='p' && str[1]=='o' && str[2]=='p') { pop(); } return 0; }
0
0
6
starkim922
2024년 3월 03일
In 소스 코드 제출
/* #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } 1402 #include <stdio.h> int stack[1001]={}; int top=-1; void push(int n) // n을 스택에 넣으세요 { top++; stack[top]=n; } void pop() // 스택의 맨 위값을 빼세요 { if(top==-1) // 스택이 비어있다면? { return ; // 아무것도 하지 마세요 } printf("%d ",stack[top]); // 맨 위 데이터를 출력 top--; } int main() { int n,m; scanf("%d",&m); for(int i=1; i<=m; i++) { scanf("%d",&n); push(n); } // 스택에 있는 전부 pop while(top!=-1) { pop(); }. return 0; } 3117 #include <stdio.h> int stack[1000001]={}; int top=-1; void push(int n) { top++; stack[top]=n; } int pop() { if(top==-1) return ; return stack[top--]; // 꼭 기억해주기!!! 탑이랑 스택이랑 같이 하기. } int main() { int n,m,sum=0; scanf("%d",&m); for(int i=1; i<=m; i++) { scanf("%d",&n); if(n==0) { pop(); } else { push(n); } } while(top!=-1) { sum=sum+pop(); } printf("%d" , sum); return 0; } 1714 #include <stdio.h> char stack[9999999]={}; int top=-1; void push(char n) { top++; stack[top]=n; } char pop() { if(top==-1) return ; return stack[top--]; } int main() { char str[999999]={}; scanf("%s",str); for(int i=0; str[i]!=NULL; i++) { push(str[i]); } while(top!=-1) { printf("%c",pop()); } return 0; } */ #include <stdio.h> char stack[201]={}; top=-1; void push(int n) { top++; stack[top]=n; } char pop() { if(top==-1) return ; return stack[top--]; } int main() { int n,m; char str[201]={}; scanf("%d",&m); for(int i=1; i<=m; i++) { scanf("%d",&n); } for(int i=1; str[i]!=NULL; i++) { push(str[i]); } while(top!=-1) { printf("%c",pop); } return 0; }
0
0
3
starkim922
2024년 3월 02일
In 소스 코드 제출
/* #include <stdlib.h> int main() { printf("Hello world!\n"); return 0; } 4891 #include <stdio.h> int main() { int z,max=0,i,x,min=1000; scanf("%d",&z); for(i=1; i<=z; i++) { scanf("%d",&x); if(min>x) { min=x; } if(max<x) { max=x; } } printf("%d",max-min); return 0; } 4051 #include <stdio.h> int main() { double s,e,m,x=0; int i,h; for(i=1; i<=5; i++) { scanf("%lf %lf",&s,&e); m=e-s-1; if(m<=0) { m=0; } if(m>=4) { m=4; } x=x+m; } if(15<=x) { h=10000*x-10000*x*5/100; } else if(5>=x) { h=10000*x+10000*x*5/100; } else { h=x*10000; } printf("%d",h); return 0; } #include <stdio.h> int main() { int s,s1,s2,s3,i; scanf("%d %d %d\n%d",&s1,&s2,&s3,&s); s3=s+s3; if(s3>=60) { s2=s2+s3/60; s3=s3%60; } if(s2>=60) { s1=s1+s2/60; s2=s2%60; } if(s1>=24) { s1=s1%24; } printf("%d %d %d",s1,s2,s3); return 0; } 자료구조 1. 스택 + 2. 큐 3. 정렬 4. 탐색 (이진탐색) 5. Graph (DFS/BFS) #include <stdio.h> int stack[100]={}; int top = -1 ; // 맨위 데이터의 위치 void push(int n) { top++; stack[top]=n; view(); } void pop() // stack에서 맨 위에 데이터 하나 빼세요 { if(top==-1) { printf("stack is empty!!!!!!\n"); return ; } printf("pop data :%d\n",stack[top]); top--; view(); } void view() { printf("stack : "); for(int i=0;i<=top;i++) { printf("%d ",stack[i]); } printf("\n"); } int main() { push (8); push(5); //top++; //stack[top]=5; push(2); //top++; //stack[top]=2; // printf("%d\n",stack[top]); pop(); pop(); pop(); pop(); //top--; //printf("%d\n",stack[top]); //top--; //printf("%d\n",stack[top]); return 0; } */ #include <stdio.h> int stack[1001]={}; int top=-1; void push(int n) { top++; stack[top]=n; return ; } void pop() { if(top==-1) { return ; } printf("%d",stack[top]); top--; return ; } int main() { int n,m,c; scanf("%d",&m); for(int i=1; i<=m; i++) { scanf("%d",&n); push(n); } for(int i=1; i<=n; i++) { c=c+n ; } return 0; }
0
0
4

starkim922

더보기
bottom of page