top of page

게시판 게시물

jangminjego
2022년 7월 23일
In 소스 코드 제출
/* #include<stdio.h> int a[26][26]= {}; int k, num=0; int dx,dy; int queue[2][10000]={}; int f=-1,r=-1; void enq(int x, int y) { a[x][y]=0; r++; queue[0][r]=x; queue[1][r]=y; } void deq() { f++; dx=queue[0][f]; dy=queue[1][f]; } void bfs(int x, int y) // a[x][y]에서 bfs { if( x+1<k && a[x+1][y]==1 ) enq(x+1,y); if(y+1<k && a[x][y+1]==1) enq(x, y+1); if( x-1>=0 && a[x-1][y]==1 ) enq(x-1,y); if(y-1>=0 && a[x][y-1]==1) enq(x, y-1); } int main() { int i, j, n=0; scanf("%d", &k); for(i=0; i<k; i++) { for(j=0; j<k; j++) scanf("%1d", &a[i][j]); } enq(0,1); while(f!=r) //큐가 차있는동안 { deq(); printf("%d %d\n",dx,dy); bfs(dx,dy); n++; } printf("%d", n); } /* #include<stdio.h> int a[1000][1000]={}, day=0, k; int dx,dy; int m, n; int queue[2][10000]={}; int f=-1,r=-1; void enq(int x, int y) { a[x][y]=1; r++; queue[0][r]=x; queue[1][r]=y; } void deq() { f++; dx=queue[0][f]; dy=queue[1][f]; } void bfs(int x, int y) // a[x][y]에서 bfs { if( x+1<m && a[x+1][y]==0 ) enq(x+1,y); if(y+1<n && a[x][y+1]==0) enq(x, y+1); if( x-1>=0 && a[x-1][y]==0 ) enq(x-1,y); if(y-1>=0 && a[x][y-1]==0) enq(x, y-1); } int main() { int i, j; scanf("%d %d", &n, &m); for(i=0; i<m; i++) { for(j=0; j<n; j++) { scanf("%d", &a[i][j]); } } for(i=0; i<m; i++) { for(j=0; j<n; j++) { if(a[i][j]==1) { enq(i, j); } } } k=r+1; while(f!=r) //큐가 차있는동안 { deq(); bfs(dx,dy); if(f==k) { day++; k=r; } } for(i=0; i<m; i++) { for(j=0; j<n; j++) { if(a[i][j]==0) { printf("-1"); return 0; } } } printf("%d", day); } 스택 큐 정렬 퀵정렬 (이진탐색) dfs/bfs binary search //기억력 테스트3 #include <stdio.h> int arr[10]={1,3,5,7,8,9,11,12,16,17}; int bs(int s, int e, int k) { int mid=(s+e)/2; if(s>e) return -1; //not found if(arr[mid]==k) return mid; else if(arr[mid]>k) bs(s,mid-1,k); else bs(mid+1,e,k); } int main() { int n; scanf("%d",&n); printf("%d",bs(0,9,n)); } #include<stdio.h> int arr[100001]={}; int bs(int s, int e, int k) { int mid=(s+e)/2; if(s>e) return -1; //not found if(arr[mid]==k) return mid; else if(arr[mid]>k) bs(s,mid-1,k); else bs(mid+1,e,k); } int main() { int n, m, num, i; scanf("%d", &n); for(i=1; i<=n; i++) scanf("%d", &arr[i]); scanf("%d", &m); for(i=0; i<m; i++) { scanf("%d", &num); printf("%d ", bs(1,n,num)); } } 퀵정렬 + 이분탐색 #include<stdio.h> int a[50000]={}, a1[50000]={}; void swap(int x,int y) { int data=a[x]; a[x]=a[y]; a[y]=data; } void qs(int s, int e) { if(s>=e) return; int pivot=s; int low=s, high=e+1; do { do { high--; } while(a[pivot]<a[high]); do { low++; } while(a[pivot]>a[low]); if(low<high) swap(low,high); } while(low<high); swap(pivot,high); qs(s,high-1); qs(high+1,e); } int bs(int s, int e, int k) { int mid=(s+e)/2; if(a[mid]==k) return mid; else if(a[mid]>k) bs(s,mid-1,k); else bs(mid+1,e,k); } int main() { int i, n; scanf("%d", &n); for(i=0; i<n; i++) { scanf("%d", &a[i]); a1[i]=a[i]; } for(i=0; i<n; i++) { printf("%d ", bs(0,n,a1[i])); } } */
0
0
1
jangminjego
2022년 7월 09일
In 소스 코드 제출
/* #include <stdio.h> int a[11][11]= {}; //원본 int b[11][11]= {}; //not visited -1 // visited sum void dfs(int x, int y) { //종료조건1 if(x>9||y>9||x<1||y<1||b[x][y]!=-1) return ; //종료조건2 ( 내 주위 지뢰갯수가 0개가 아닐때) int sum=0; for(int i=x-1; i<=x+1; i++) for(int j=y-1; j<=y+1; j++) sum+=a[i][j]; b[x][y]=sum; //visited if(sum!=0) return ; dfs(x-1, y); dfs(x, y-1); dfs(x+1, y); dfs(x, y+1); dfs(x-1, y-1); dfs(x+1, y-1); dfs(x+1, y+1); dfs(x-1, y+1); } int main() { int i, j, x, y; for(i=1; i<=9; i++) { for(j=1; j<=9; j++) { scanf("%d", &a[i][j]); b[i][j]=-1; //not visited } } scanf("%d %d", &x, &y); if(a[x][y]==1) { for(i=1; i<=9; i++) { for(j=1; j<=9; j++) { if(i==x&&j==y) printf("-1 "); else printf("_ "); } printf("\n"); } return 0; } dfs(x,y); for(i=1; i<=9; i++) { for(j=1; j<=9; j++) { if(b[i][j]!=-1) printf("%d ", b[i][j]); else printf("_ "); } printf("\n"); } return 0; } dfs = 재귀 (끝을 발견 돌아와) bfs = */ #include<stdio.h> int a[26][26]= {}; int k, num=0; int dx,dy; int queue[2][10000]={}; int f=-1,r=-1; void enq(int x, int y) { a[x][y]=0; r++; queue[0][r]=x; queue[1][r]=y; } void deq() { f++; dx=queue[0][f]; dy=queue[1][f]; } void bfs(int x, int y) // a[x][y]에서 dfs { if( x+1<k && a[x+1][y]==1 ) enq(x+1,y); if(y+1<k && a[x][y+1]==1) enq(x, y+1); if( x-1>=0 && a[x-1][y]==1 ) enq(x-1,y); if(y-1>=0 && a[x][y-1]==1) enq(x, y-1); } int main() { int i, j, n=0; scanf("%d", &k); for(i=0; i<k; i++) { for(j=0; j<k; j++) scanf("%1d", &a[i][j]); } enq(0,1); while(f!=r) { deq(); printf("%d %d\n",dx,dy); bfs(dx,dy); n++; } printf("%d", n); }
0
0
3
jangminjego
2022년 6월 25일
In 소스 코드 제출
/* #include <stdio.h> int a[100][100]= {}, m, n; void dfs(int x, int y, int c) { if(a[x][y]!=c) return; a[x][y]=-1; if(x>0) dfs(x-1,y,c); if(y>0) dfs(x,y-1,c); if(x+1<m) dfs(x+1,y,c); if(y+1<n) dfs(x,y+1,c); } int main() { int i, j, o=0, f=0; scanf("%d %d", &m, &n); for(i=0; i<m; i++) { for(j=0; j<n; j++) { scanf("%d", &a[i][j]); } } for(i=0; i<m; i++) { for(j=0; j<n; j++) { if(a[i][j]==0) { o++; dfs(i, j, 0); } else if(a[i][j]==1) { f++; dfs(i, j, 1); } } } printf("%d %d", o, f); } #include <stdio.h> int a[100][100]= {}, b[100][100]= {}, n, l; void dfs(int x, int y) { if(a[x][y]<=l) return; a[x][y]=0; if(x>0) dfs(x-1,y); if(y>0) dfs(x,y-1); if(x+1<n) dfs(x+1,y); if(y+1<n) dfs(x,y+1); } int main() { int i, j, max1=0, max=0, area=0; scanf("%d", &n); for(i=0; i<n; i++) { for(j=0; j<n; j++) { scanf("%d", &a[i][j]); b[i][j]=a[i][j]; if(a[i][j]>max1) max1=a[i][j]; } } for(l=0; l<=max1; l++) { area=0; for(i=0; i<n; i++) { for(j=0; j<n; j++) { if(a[i][j]>l) { dfs(i,j); area++; } } } if(area>max) max=area; for(i=0; i<n; i++) { for(j=0; j<n; j++) { a[i][j]=b[i][j]; } } } printf("%d", max); } */ #include<stdio.h> int a[9][9]; int main() { int i, j; for(i=0; i<9; i++) { for(j=0; j<9; j++) scanf("%d", &a[i][j]); } for(i=0; i<9; i++) { for(j=0; j<9; j++) { if(a[i][j]==1) a[i][j]--; } } }
0
0
3
jangminjego
2022년 6월 18일
In 소스 코드 제출
/* #include<stdio.h> int a[20][20]; int flag = 0; void dfs(int x, int y, int n, int c, int w) { if(a[x][y]!=c) { if(n==5) { flag=1; return; } } if(a[x][y]==c) { if(w==1) dfs(x+1, y, n+1, c, 1); else if(w==2) dfs(x+1, y+1, n+1, c, 2); else if(w==3) dfs(x, y+1, n+1, c, 3); else if(w==4||x>0) dfs(x-1, y+1, n+1, c, 4); } } int main() { int i, j; for(i=1; i<=19; i++) { for(j=1; j<=19; j++) scanf("%d", &a[i][j]); } for(j=1; j<20; j++) { for(i=1; i<20; i++) { if(a[j][i]>0) { if(a[j-1][i]!=a[j][i]) dfs(j+1, i, 1, a[j][i], 1); if(a[j-1][i-1]!=a[j][i]) dfs(j+1, i+1, 1, a[j][i], 2); if(a[j][i-1]!=a[j][i]) dfs(j, i+1, 1, a[j][i], 3); if(a[j+1][i-1]!=a[j][i]) dfs(j-1, i+1, 1, a[j][i], 4); } if(flag==1) { printf("%d\n%d %d\n",a[j][i], j, i); return 0; } } } printf("0"); } */ /* #include<stdio.h> char a[10][10]; void dfs(int x, int y) { if(a[x][y]=='*') return ; a[x][y]='*'; if(x>0) dfs(x-1,y); if(y>0) dfs(x,y-1); if(x<9) dfs(x+1,y); if(y<9) dfs(x,y+1); } int main() { int i, j, x, y; for(i=0; i<10; i++) { for(j=0; j<10; j++) scanf("%c ", &a[i][j]); } scanf("%d %d", &x, &y); dfs(y,x); for(i=0; i<10; i++) { for(j=0; j<10; j++) printf("%c", a[i][j]); printf("\n"); } } */
0
0
4
jangminjego
2022년 6월 11일
In 소스 코드 제출
/* #include <stdio.h> int a[100001]; void swap(int x, int y) { int data=a[x]; a[x]=a[y]; a[y]=data; } void qs(int s, int e) { if(s>=e) return; int pivot=s; int low=s, high=e+1; do { do { high--; } while(a[pivot]<a[high]); do { low++; } while(a[pivot]>a[low]); if(low<high) swap(low,high); } while(low<high); swap(pivot,high); qs(s,high-1); qs(high+1,e); } int main() { int n, i; scanf("%d", &n); for(i=1; i<=n; i++) { scanf("%d", &a[i]); } qs(1,n); for(i=1; i<=n; i++) { printf("%d\n", a[i]); } } #include <stdio.h> int a[100001]; void swap(int x, int y) { int data=a[x]; a[x]=a[y]; a[y]=data; } void qs(int s, int e) { if(s>=e) return; int pivot=s; int low=s, high=e+1; do { do { high--; } while(a[pivot]<a[high]); do { low++; } while(a[pivot]>a[low]); if(low<high) swap(low,high); } while(low<high); swap(pivot,high); qs(s,high-1); qs(high+1,e); } int main() { int n, i; scanf("%d", &n); for(i=1; i<=n; i++) { scanf("%d", &a[i]); } qs(1,n); for(i=1; i<=n; i++) { printf("%d ", a[i]); } } int memo[100001]={}; memo[i] i가 입력된 횟수 memo[0] ~ memo[100000] 0을 memo[0]번 ... i를 memo[i]출력 */ /* #include<stdio.h> int main() { int memo[100000]={}, a, n, max=0, i, j; scanf("%d", &a); for(i=0; i<a; i++) { scanf("%d", &n); memo[n]++; if(n>max) max=n; } for(i=0; i<=max; i++) { if(memo[i]>0) { for(j=0; j<memo[i]; j++) printf("%d ", i); } } } */ /* #include<stdio.h> int a[100][100]= {}, m, n1, a1[100], num; void dfs(int x, int y) { num++; a[x][y]=-1; if(x+1<m && a[x+1][y]==0) dfs(x+1,y); if(x-1>=0 && a[x-1][y]==0) dfs(x-1, y); if(y+1<n1 && a[x][y+1]==0) dfs(x, y+1); if(y-1>=0 && a[x][y-1]==0) dfs(x, y-1); } int main() { int k, x1, y1, x2, y2, i, j, l; int temp, n=0; scanf("%d %d %d", &m, &n1, &k); for(l=0; l<k; l++) { scanf("%d %d %d %d", &x1, &y1, &x2, &y2); for(j=y1; j<y2; j++) { for(i=x1; i<x2; i++) a[j][i]=1; } } for(i=0; i<m; i++) { for(j=0; j<n1; j++) { if(a[i][j]==0) { num=0; dfs(i,j); n++; a1[n]=num; } } } printf("%d\n", n); for(i=1; i<=n; i++) { for(j=1; j<=n-i; j++) { if (a1[j] > a1[j+1]) { temp = a1[j]; a1[j] = a1[j+1]; a1[j+1] = temp; } } } for(i=1; i<=n; i++) { printf("%d ", a1[i]); } } */ #include<stdio.h> int a[20][20]; void dfs(int x, int y, int n, int c, int w) { if(a[x][y]!=c) { if(n==5) { if(c==1) { if(w==1) printf("1\n%d %d", x-5, y); if(w==2) printf("1\n%d %d", x-5, y-5); if(w==3) printf("1\n%d %d", x, y-5); } else if(c==2) { if(w==1) printf("2\n%d %d", x-5, y); if(w==2) printf("2\n%d %d", x-5, y-5); if(w==3) printf("2\n%d %d", x, y-5); } exit(0); } else if(n>5) { if(w==1) { for(int i=0; i<n; i++) a[x][y-i]=0; } else if(w==2) { for(int i=0; i<n; i++) a[x-i][y-i]=0; } else if(w==2) { for(int i=0; i<n; i++) a[x-i][y]=0; } } return; } if(w==1) dfs(x+1, y, n+1, c, 1); else if(w==2) dfs(x+1, y+1, n+1, c, 2); else if(w==3) dfs(x, y+1, n+1, c, 3); } int main() { int i, j; for(i=1; i<=19; i++) { for(j=1; j<=19; j++) scanf("%d", &a[i][j]); } for(i=1; i<20; i++) { for(j=1; j<20; j++) { if(a[j][i]>0) { dfs(j+1, i, 1, a[j][i], 1); dfs(j+1, i+1, 1, a[j][i], 2); dfs(j, i+1, 1, a[j][i], 3); } } } printf("0"); }
0
0
3
jangminjego
2022년 6월 04일
In 소스 코드 제출
/* #include<stdio.h> #include<string.h> #define SIZE 100 long long int stack[SIZE]= {}; int top=-1; void push(int data) { top++; stack[top]=data; } int pop() { return stack[top--]; } int main() { char str[200]= {}; int i, j; int num=0; gets(str); for(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]!=' ') { int a = pop(); int b = pop(); if(str[i]=='+') { push(b+a); } else if(str[i]=='*') { push(b*a); } else if(str[i]=='-') { push(b-a); } } } printf("%d", pop()); } homework 1452 퀵정렬 복습 3014 기존 정렬방법 (x) 메모이제이션 (o) #include<stdio.h> int a[26][26]= {}; int k, num=0; void dfs(int x, int y) // a[x][y]에서 dfs { num++; a[x][y]=-1; if(x+1<k && a[x+1][y]==1) dfs(x+1,y); if(x-1>=0 && a[x-1][y]==1) dfs(x-1, y); if(y+1<k && a[x][y+1]==1) dfs(x, y+1); if(y-1>=0 && a[x][y-1]==1) dfs(x, y-1); } int main() { int i, j, n=0, a1[100], temp; scanf("%d", &k); for(i=0; i<k; i++) { for(j=0; j<k; j++) scanf("%1d", &a[i][j]); } for(i=0; i<k; i++) { for(j=0; j<k; j++) { if(a[i][j]==1) { num=0; dfs(i,j); n++; a1[n]=num; } } } printf("%d\n", n); for(i=1; i<=n; i++) { for(j=1; j<=n-i; j++) { if (a1[j] > a1[j+1]) { temp = a1[j]; a1[j] = a1[j+1]; a1[j+1] = temp; } } } for(i=1; i<=n; i++) { printf("%d\n", a1[i]); } } 4024 2605 4572 #include<stdio.h> char a[100][100]; int w, h; void dfs(int x, int y) // a[x][y]에서 dfs { if(x>=h || x<0 || y<0 || y>=w || a[x][y]!='L') return ; a[x][y]=-1; dfs(x+1,y); dfs(x-1, y); dfs(x, y+1); dfs(x, y-1); dfs(x+1,y+1); dfs(x-1, y+1); dfs(x+1, y-1); dfs(x-1, y-1); } int main() { int i, j, n=0; scanf("%d %d", &w, &h); for(i=0; i<h; i++) { for(j=0; j<w; j++) { scanf(" %c", &a[i][j]); } } for(i=0; i<h; i++) { for(j=0; j<w; j++) { if(a[i][j]=='L') { dfs(i,j); n++; } } } printf("%d", n); } #include<stdio.h> int a[8][8]={}, n; void dfs(int x, int y, int c) { if(x>=7 || x<0 || y<0 || y>=7 || a[x][y]!=c) return ; n++; a[x][y]=-1; dfs(x+1, y, c); dfs(x-1, y, c); dfs(x, y+1, c); dfs(x, y-1, c); } int main() { int i, j, num=0; for(i=0; i<7; i++) { for(j=0; j<7; j++) { scanf("%d", &a[i][j]); } } for(i=0; i<7; i++) { for(j=0; j<7; j++) { if(a[i][j]!=-1) { n=0; dfs(i, j, a[i][j]); if(n>=3) num++; } } } printf("%d", num); } */ #include<stdio.h> int a[100][100]= {}; void dfs(int x, int y, int c) { if(x>=7 || x<0 || y<0 || y>=7 || a[x][y]!=c) return ; a[x][y]=-1; dfs(x+1, y, c); dfs(x-1, y, c); dfs(x, y+1, c); dfs(x, y-1, c); } int main() { int i, j, num=0, m, n,k; scanf("%d %d %d", &m, &n, &k) for(int z=0; z<k; z++) { for(i=0; i<7; i++) { for(j=0; j<7; j++) { a[i][j] } } } for(i=0; i<7; i++) { for(j=0; j<7; j++) { if(a[i][j]!=-1) { n=0; dfs(i, j, a[i][j]); if(n>=3) num++; } } } printf("%d", num); }
0
0
3
jangminjego
2022년 5월 28일
In 소스 코드 제출
/* #include<stdio.h> int a[100001],a1[100001]; void swap(int x, int y) { int data=a[x]; a[x]=a[y]; a[y]=data; } void qs(int s, int e) { if(s>=e) return ; int pivot=s; int low=s,high=e+1; do { do { high--; } while(a[pivot]<a[high]); do { low++; } while(a[pivot]>a[low]); if(low<high) swap(low,high); } while(low<high); swap(pivot,high); qs(s,high-1); qs(high+1,e); } //binary_search int bs(int s, int e, int k) //s번째부터 e번째까지중에 k값의 위치 리턴 { int mid=(s+e)/2; if(s>e) return -1; if(a[mid]==k) { return mid; } else if(a[mid]>k) { bs(s,mid-1,k); } else { bs(mid+1,e,k); } } int main() { int n, i, j; scanf("%d", &n); for(i=1; i<=n; i++) { scanf("%d", &a[i]); a1[i]=a[i]; } qs(1,n); for(i=1; i<=n; i++) printf("%d ", bs(1,n,a1[i])-1); return 0; } */ #include<stdio.h> int a[100001], n; //binary_search int bs(int s, int e, int k) //s번째부터 e번째까지중에 k값의 위치 리턴 { int mid=(s+e)/2; if(s>e) { return n+1; } if(s==e) { if(a[mid]>=k) return mid; else return n+1; } if(a[mid]==k) { bs(s,mid,k); } else if(a[mid]>k) { bs(s,mid,k); } else { bs(mid+1,e,k); } } int main() { int k, i; scanf("%d %d", &n, &k); for(i=1; i<=n; i++) { scanf("%d", &a[i]); } printf("%d", bs(1, n, k)); return 0; } /* #include<stdio.h> int a[1000001]; int bs(int s, int e, int k) { int mid=(s+e)/2; if(s>e) return -1; if(a[mid]==k) { return mid; } else if(a[mid]>k) { bs(s,mid-1,k); } else { bs(mid+1,e,k); } } int main() { int n, n1, i, k; scanf("%d", &n); for(i=1; i<=n; i++) { scanf("%d", &a[i]); } scanf("%d", &n1); for(i=1; i<=n1; i++) { scanf("%d", &k); printf("%d ", bs(1,n,k)); } return 0; } */
0
0
5
jangminjego
2022년 5월 21일
In 소스 코드 제출
/* #include<stdio.h> #include<string.h> #define SIZE 100 // push( 567 ) int stack[SIZE]= {}; int top=-1; void push(int data) { top++; stack[top]=data; } int pop() { return stack[top--]; } int main() { int a; char str[100]={}; scanf("%d\n", &a); for(int i=0; i<a; i++) { gets(str); if(str[0]=='p'&&str[1]=='u') { int 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') { if(top!=-1) pop(); } else if(str[0]=='t'&&str[1]=='o') { if(top!=-1) printf("%d\n", stack[top]); else printf("-1\n"); } else if(str[0]=='s'&&str[1]=='i') { printf("%d\n", top+1); } else if(str[0]=='e'&&str[1]=='m') { if(top==-1) printf("true\n"); else printf("false\n"); } } } */ /* #include<stdio.h> #include<string.h> #define SIZE 100000 char stack[SIZE]= {}; int top=0; void push(int data) { top++; stack[top]=data; } int pop() { return stack[top--]; } int main() { char str[100001]={}; int sum=0; gets(str); for(int i=0; str[i]!=NULL; i++) { if(str[i]=='(') push('('); else if(str[i]==')'&&str[i-1]!=')') { pop(); sum=sum+top; } else if(str[i]==')'&&str[i-1]==')') { pop(); sum=sum+1; } } printf("%d", sum); } */ /* #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; key<a[j] && j>0; 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 a[100001]; void swap(int x, int y) { int t=a[x]; a[x]=a[y]; a[y]=t; } void qs(int s, int e) // a[s] ~ a[e]를 퀵정렬 { if(s>=e) return ; int pivot=s; int low=s,high=e+1; //pivot기준 오른쪽은 큰값만, 왼쪽은 작은값만 존재하도록 // while(low<high) // { // while(a[low]<a[pivot]) low++; // while(a[high]>a[pivot]) high--; // if(low<high) swap(low,high); //a[low] a[high] 교환 // } do { do{ low++;}while(a[low]<a[pivot]); do{ high--;}while(a[high]>a[pivot]); if(low<high) swap(low,high); //a[low] a[high] 교환 }while(low<high); swap(pivot,high); //a[pivot] a[high] 교환 qs(s,high-1); qs(high+1,e); } int main() { int n, i, j; scanf("%d", &n); for (i = 1; i <= n; i++) scanf("%d", &a[i]); //quick_sort qs(1,n); for (i=1; i<=n; i++) printf("%d\n", a[i]); return 0; } */ #include<stdio.h> int a[100001]; void swap(int x, int y) { int data=a[x]; a[x]=a[y]; a[y]=data; } void qs(int s, int e) { if(s>=e) return ; int pivot=s; int low=s,high=e+1; do { do{ high--; }while(a[pivot]<a[high]); do{ low++; }while(a[pivot]>a[low]); if(low<high) swap(low,high);}while(low<high); swap(pivot,high); qs(s,high-1); qs(high+1,e); } int main() { int n, i, j; scanf("%d", &n); for(i=1; i<=n; i++) scanf("%d", &a[i]); qs(1,n); for (i=1; i<=n; i++) printf("%d\n", a[i]); return 0; }
0
0
6
jangminjego
2022년 5월 14일
In 소스 코드 제출
/* #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 ", a[i]); return 0; } #include <stdio.h> #include <string.h> typedef struct { char name[10]; int grade; }student; int main() { int a, i, j; student arr[51] ,temp; scanf("%d", &a); for (i=1; i<=a; i++) scanf("%s %d", arr[i].name, &arr[i].grade); for(i=1; i<a; i++) { for(j=1; j<=a-i; j++) { if (arr[j].grade < arr[j+1].grade) { temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } printf("%s", arr[3].name); } #include <stdio.h> #include <string.h> typedef struct { int number; int math; int tech; }student; int main() { int a, i, j; student arr[1001] ,temp; scanf("%d", &a); for (i=1; i<=a; i++) { scanf("%d %d", &arr[i].math, &arr[i].tech); arr[i].number=i; } for(i=1; i<a; i++) { for(j=1; j<=a-i; j++) { if (arr[j].math < arr[j+1].math|| arr[j].math == arr[j+1].math&& arr[j].tech < arr[j+1].tech|| arr[j].math == arr[j+1].math&& arr[j].tech == arr[j+1].tech&& arr[j].number > arr[j+1].number) { temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } for (i=1; i<=a; i++) printf("%d %d %d\n", arr[i].number, arr[i].math, arr[i].tech); } #include <stdio.h> #include <string.h> typedef struct { char name[100]; int year; int month; int day; } student; int main() { int a, i, j, k; student arr[101],temp; scanf("%d", &a); for (i=1; i<=a; i++) { scanf("%s %d %d %d", arr[i].name, &arr[i].year, &arr[i].month, &arr[i].day); } for(i=1; i<a; i++) { for(j=1; j<=a-i; j++) { if (arr[j].year > arr[j+1].year|| arr[j].year == arr[j+1].year&& arr[j].month > arr[j+1].month|| arr[j].year == arr[j+1].year&& arr[j].month == arr[j+1].month&& arr[j].day > arr[j+1].day|| arr[j].year == arr[j+1].year&& arr[j].month == arr[j+1].month&& arr[j].day == arr[j+1].day&& strcmp(arr[j].name, arr[j+1].name)>0) { temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } // printf("%d",strcmp("abc","zzz")) for (i=1; i<=a; i++) printf("%s\n", arr[i].name); } */
0
0
3
jangminjego
2022년 5월 07일
In 소스 코드 제출
/* #include<stdio.h> #include <string.h> int top=-1; int main() { char str[50001]={}; scanf("%s",str); for(int i=0;str[i]!=NULL;i++) { if(str[i]=='(') { top++; } else if(str[i]==')') { if(top==-1) { printf("bad"); return 0; } top--; } } if(top==-1) { printf("good"); } else { printf("bad"); } return 0; } 자료구조 스택 , 큐 정렬, dfs/bfs #include<stdio.h> int queue[500]={}; int front=-1, rear=-1; //front : 마지막으로 데이터가 나간 위치 //rear : 마지막으로 데이터가 들어온 위치 void enq(int data) { rear++; queue[rear]=data; } int deq() { if(rear==front) return 0; //empty check front++; return queue[front]; } void view() { printf("queue : "); for(int i=front+1;i<=rear;i++) { printf("%d ",queue[i]); } printf("\n"); } int main() { while(1) { printf("1.enq 2. deq >>"); int a; scanf("%d",&a); if(a==1) { printf("enq data >>"); int d; scanf("%d",&d); enq(d); } else { int de = deq(); if(de==0) { printf("queue is empty\n"); } else { printf("deq data is %d\n",de); } } view(); } } #include <stdio.h> #include <string.h> int stack[100] = {}; int top=-1; void push(int data) { top++; stack[top]=data; } int pop() { return stack[top--]; } int main() { char str[101]={}, str1[101]={}; int l, l1, i, u=0; scanf("%s", str); scanf("%s", str1); l=strlen(str)-1; l1=strlen(str1)-1; if(l>l1) { for(i=0; i<l+1; i++) { if(l1-i<0) { push((str[l-i]+u-'0')%10); u=(str[l-i]+u-'0')/10; } else { push((str[l-i]-'0'+str1[l1-i]+u-'0')%10); u=(str[l-i]-'0'+str1[l1-i]+u-'0')/10; } } if(u==1) push(1); while(top!=-1) { printf("%d",pop()); } } else { for(i=0; i<l1+1; i++) { if(l-i<0) { push((str1[l1-i]+u-'0')%10); u=(str1[l1-i]+u-'0')/10; } else { push((str[l-i]-'0'+str1[l1-i]+u-'0')%10); u=(str[l-i]-'0'+str1[l1-i]+u-'0')/10; } } if(u==1) push(1); while(top!=-1) { printf("%d",pop()); } } } #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; } */ /* #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++) { temp=0; 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; } } if(temp==0) { printf("%d", i-1); return 0; } } printf("%d", n-1); return 0; } #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; 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; }*/
0
0
2
jangminjego
2022년 4월 30일
In 소스 코드 제출
/* #include <stdio.h> int memo[15][15]={}; int SuperSum(int k, int n) { if(memo[k][n]!=0) return memo[k][n]; else if(k==0) return memo[k][n]=n; else if(n==0) return memo[k][n]=0; return memo[k][n]=SuperSum(k,n-1)+SuperSum(k-1,n); } int main() { int k, n; while( scanf("%d %d", &k, &n) != EOF) printf("%d\n", SuperSum(k, n)); } #include <stdio.h> void f(int* pa) { printf("pa : %d\n",pa); printf("*pa : %d\n",*pa); *pa=*pa+1; } int main() { int a=5; f(&a); printf("%d",a); } */ /* #include <stdio.h> void myswap(int* a, int* b) { int i; if(*a>*b) { i=*a; *a=*b; *b=i; } } main() { int a, b; scanf("%d%d", &a, &b); myswap(&a, &b); printf("%d %d", a, b); } */ /* #include <stdio.h> #include <string.h> //void myswap(char* a) //{ // printf("%s",a); // printf("%c",a[5]); //} void f(int* arr,int len) { printf("%d",arr[5]); } int main() { // char str[50]={}; // scanf("%s",str); // // &str[0] str // f(str); int arr[100]={1,2,3,4,5}; f(arr,100); return 0; } */ /* #include <stdio.h> #include <string.h> char* f(char* str, int a, int b) { str[a+b]=0; return &str[a]; } int main() { char str[101]={}; int a,b; scanf("%s %d %d", str, &a, &b); printf("%s",f(str, a, b)); } #include <stdio.h> #define SIZE 100 //상수 선언 int stack[SIZE]={}; int top=-1; //맨 위 데이터의 위치 void push(int data) { top++; stack[top]=data; } int pop() { return stack[top--]; } int main() { //push (1) //push(1); // pop() //printf("%d",pop()); //stack의 모든 값 pop while(top!=-1) { pop(); } } */ /* #include<stdio.h> #include<string.h> #define SIZE 100 char stack[SIZE]= {}; int top=-1; void push(int data) { top++; stack[top]=data; } int pop() { return stack[top--]; } int main() { char str[SIZE]; int i; scanf("%s", str); for(i=0; str[i]!=NULL; i++) { push(str[i]); } while(top!=-1) { printf("%c", pop()); } } */ #include<stdio.h> #define SIZE 100 char stack[SIZE]= {}; int top=-1; void push(char data) { top++; stack[top]=data; } char pop() { return stack[top--]; } int main() { char str[SIZE]; int i, n, a, k=0; scanf("%d", &n); for(int i=0; i<n+k; i++) { if((i-k)%3==n%3) { push(','); k++; } scanf("%1d", &a); push(a+'0'); } while(top!=-1) { printf("%c", pop()); } }
0
0
5
jangminjego
2022년 4월 23일
In 소스 코드 제출
/* f(a) : if( stair[a-1]+f(a-3) < f(a-2) ) */ /* #include <stdio.h> int stair[301]; int memo[301]= {}; int f(int a) { if(memo[a]!=0) return memo[a]; if(a==1) return memo[1]=stair[1]; else if(a==2) return memo[2]=stair[1]+stair[2]; else if(a==3) { if(stair[1]<stair[2]) return memo[3]=stair[2]+stair[3]; else return memo[3]=stair[1]+stair[3]; } if(stair[a-1]+f(a-3) < f(a-2)) return memo[a]=f(a-2)+stair[a]; else return memo[a]=stair[a-1]+f(a-3)+stair[a]; } int main() { int a; scanf("%d",&a); for(int i=1; i<=a; i++) scanf("%d", &stair[i]); printf("%d", f(a)); } */ /* f(0)=1 f(1)=1 f(2)=2 f(3)=4 f(4)=7 f(5)=13 f(6) f(n) =?? */ /* #include <stdio.h> int memo[100001]={}; int f(int n) { if(memo[n]!=0) return memo[n]; if(n==1) return memo[n]=1; else if(n==2) return memo[n]=2; else if(n==3) return memo[n]=4; return memo[n]=(f(n-1)+f(n-2)+f(n-3))%1000; } int main() { int n; scanf("%d", &n); printf("%d", f(n)); } */ /* #include<stdio.h> void f(int n) { if(n/2!=0) f(n/2); printf("%d",n%2); } int main() { long long int n; scanf("%lld", &n); f(n); } */
0
0
2
jangminjego
2022년 4월 16일
In 소스 코드 제출
//f(n) : 1부터 n 까지의합 /* f(n) 1 ~n 1 ~ n-1 + n f(n-1)+n */ /* #include <stdio.h> int f(int n) { if(n==0) return 0; return f(n-1)+n; } int main() { int n; scanf("%d", &n); printf("%d",f(n)); } */ /* #include <stdio.h> int f(int n) { if(n==1) return 1; return f(n-1)*n; } int main() { int n; scanf("%d", &n); printf("%d",f(n)); } */ /* #include<stdio.h> void f(int n) { if(n==1) { printf("1"); } else if(n%2==0) { printf("%d\n", n); f(n/2); } else { printf("%d\n", n); f(n*3+1); } } int main() { int n; scanf("%d", &n); f(n); } */ /* #include<stdio.h> void g(int a) { if(a==0) return ; printf("*"); g(a-1); } void f(int a) { if(a==0) return ; f(a-1); g(a); printf("\n"); } int main() { int a; scanf("%d", &a); f(a); } */ /* #include<stdio.h> int memo[201]={}; int f(int n) { if(memo[n]!=0) return memo[n]; if(n==1 ||n==2) return memo[n]=1; return memo[n]=(f(n-2)+f(n-1))%10009; } int main() { int n; scanf("%d", &n);0 printf("%d",f(n)); } */ #include<stdio.h> int memo[51][51]={}; int f(int x, int y) { if(memo[x][y]!=0) return memo[x][y]; if(x==1||y==1) return memo[x][y]=1; else return memo[x][y]=(f(x-1, y)+f(x, y-1))%100000000; } int main() { int x, y; scanf("%d %d", &x, &y); printf("%d", f(x,y)); }
0
0
3
jangminjego
2022년 4월 09일
In 소스 코드 제출
/* #include <stdio.h> #include <string.h> int main() { char str[1001]; gets(str); for(int i=0; str[i]!=NULL; i++) { if(str[i]<=90&&str[i]>=65) str[i]=str[i]+32; else if(str[i]>=97&&str[i]<=122) str[i]=str[i]-32; } printf("%s",str); } */ /* #include<stdio.h> #include<string.h> int main() { char str[201]; gets(str); for(int i=0; str[i]!=NULL; i++) { if(str[i]>=97&&str[i]<=99) str[i]=str[i]+23; else if(str[i]>=100&&str[i]<=122) str[i]=str[i]-3; } printf("%s", str); } *//* #include <stdio.h> #include <string.h> int main() { char str[100], str1[100]; int a, b, i=0; scanf("%s",str); scanf("%s",str1); a=strlen(str); b=strlen(str1); if(a>b) { printf("%s %s", str1, str); return 0; } else if(b>a) { printf("%s %s", str, str1); return 0; } for(;;) { if(str[i]>str1[i]) { printf("%s %s", str1, str); return 0; } else if(str1[i]>str[i]) { printf("%s %s", str, str1); return 0; } i++; } } */ /* #include <stdio.h> #include <string.h> int main() { char str[502]; int sum=0; gets(str); for(int i=0; str[i]!=NULL; i++) { sum=sum+str[i]; } if(sum%3==0) printf("1"); else printf("0"); } */ /* #include <stdio.h> #include <string.h> typedef struct { char name[10]; int grade; int number; } student; int main() { student arr[100]={0}; int a, b, i, j, c=0; scanf("%d %d", &a, &b); for(i=0; i<a; i++) { scanf("%s %d", arr[i].name, &arr[i].grade); arr[i].number=1; } for(i=0; i<a; i++) { for(j=0; j<a; j++) { if(arr[i].grade<arr[j].grade) arr[i].number++; } } for(i=1; i<=b; i++) { for(j=0; j<a; j++) { if(arr[j].number==i) { printf("%s\n",arr[j].name); c++; } if(c==b) { return 0; } } } } */ /* #include <stdio.h> #include <string.h> int main() { char str[51]; int sum=10; gets(str); for(int i=1; str[i]!=NULL; i++) { if(str[i]==str[i-1]) sum=sum+5; else sum=sum+10; } printf("%d", sum); } 재귀함수 : 자신으로 다시 정의내리는 함수 함수 내에서 자신을 다시 호출하는 함수 recursive function f(n) : *을 n번출력 *출력 -> *을 n-1번출력 *출력 -> f(n-1) 단, f(0)은 예외 #include <stdio.h> void f(int n) { if(n==0) return ; printf("*"); f(n-1); //재귀호출 } f(n) : n부터 1까지 출력 n출력 -> n-1부터 1까지 출력 n출력 -> f(n-1) void f(int n) { if(n==0) return ; printf("%d ",n); f(n-1); } int main() { f(3); } */ /* #include <stdio.h> int a; void f(int n) { if(n<0) return; printf("%d\n", a-n); f(n-1); } int main() { scanf("%d", &a); f(a-1); } */ /* #include <stdio.h> void f(int a) { if(a==0) return; printf("%d\n", a); f(a-1); } int main() { int a; scanf("%d", &a); f(a); } */ /* #include <stdio.h> void f(int a, int b) { if(a>b) { return; } if(a%2!=0) { printf("%d ", a); } f(a+1, b); } int main() { int a, b; scanf("%d %d", &a, &b); f(a, b); } */
0
0
3
jangminjego
2022년 4월 02일
In 소스 코드 제출
/* 문자열 string 문자열의 끝에는 NULL 'a' '+' '0' #include <stdio.h> #include <string.h> int main() { char str[50]={0}; //scanf("%s",str); gets(str); //printf("%s",str); int n = strlen(str); //for(int i=0;str[i]!=NULL;i++) for(int i=0;i<n;i++) { printf("%c",str[i]); } //printf("%c %c %c",str[0],str[1],str[2]); return 0; } */ /* #include<stdio.h> #include<string.h> int main() { char str[50]={0}; scanf("%s",str); printf("%s",str); } */ /* #include<stdio.h> #include<string.h> int main() { char str[31]={0}; gets(str); printf("%s",str); } //if(strcmp(str,"love")==0) */ /* #include<stdio.h> #include<string.h> int main() { char str[31]={0}; gets(str); if(str[0]=='l'&&str[1]=='o' &&str[2]=='v'&&str[3]=='e'&&str[4]==NULL) printf("I love you."); } */ /* #include<stdio.h> #include<string.h> int main() { char str[101]={0}; gets(str); for(int i=0; str[i]!=NULL; i++) { if(str[i]!=' ') { printf("%c",str[i]); } } } */ /* #include<stdio.h> #include<string.h> int main() { int a=0, b=0; char str[100001]={0}; gets(str); for(int i=0; str[i]!=NULL; i++) { if(str[i]=='(') { a++; } else if(str[i]==')') { b++; } } printf("%d %d",a,b); } */ /* #include<stdio.h> #include<string.h> int main() { char str[100001]={0}; gets(str); for(int i=0; str[i]!=NULL; i++) { if(str[i]=='t') printf("%d ", i+1); } } */ /* #include<stdio.h> #include<string.h> char l, k, str[20]= {0}; int a; char f() { int i; for(i=1; str[i]!=NULL; i++) { } return i-1; } int main() { scanf("%s",str); a=f(); l=str[a]; k=str[0]; for(int i=0; i<2; i++) { scanf("%s",str); if(str[0]!=l) { printf("bad"); return 0; } a=f(); l=str[a]; } if(l!=k) { printf("bad"); return 0; } printf("good"); } 아스키코드 'a' 97 'A' 65 #include<stdio.h> int main() { //printf("%c",'a'+2); //if('a'<=str[i] && str[i]<='z') // printf("%d",'7'-'0'); printf("%c",'g'-32); } */
0
0
3
jangminjego
2022년 3월 26일
In 소스 코드 제출
/* #include <stdio.h> double n; double ABS(double a) { if(a<0) return -a; else return a; } int main() { scanf("%lf", &n); printf("%.10g", ABS(n)); } */ /* #include<stdio.h> int f(long long int a) { int i, l=1; while(a>9) { a=a%10+a/10; } return a; } int main() { long long int a; scanf("%lld", &a); printf("%d", f(a)); } 학생 100명의 나이와 성적 */ /* #include <stdio.h> typedef struct { int age; char grade; }student; struct student { int age; char grade; }; int main() { //int age[100]; //char grade[100]; //student arr[100]; student arr[100]; arr[0].age=10; arr[0].grade='A'; scanf("%d %c",&arr[i].age,&arr[i].grade); }- */ /* #include<stdio.h> typedef struct { int grade; }g; int main() { int n, i, j, sum; g arr[201]; scanf("%d", &n); for(i=1; i<=n; i++) { scanf("%d", &arr[i].grade); } for(i=1; i<=n; i++) { sum=1; printf("%d ",arr[i].grade); for(j=1; j<=n; j++) { if(arr[j].grade>arr[i].grade) sum++; } printf("%d\n", sum); } } */ /* #include<stdio.h> typedef struct { char name[11]; int grade_1; int grade_2; int grade_3; } g; int main() { int n, i, sum=0, max; g arr[101]; scanf("%d", &n); for(i=1; i<=n; i++) { scanf("%s %d %d %d", arr[i].name, &arr[i].grade_1, &arr[i].grade_2, &arr[i].grade_3); } for(i=1; i<=n; i++) { if(arr[i].grade_1>sum) { sum=arr[i].grade_1; max=i; } } sum=1; printf("%s ",arr[max].name); for(i=1; i<=n; i++) { if(arr[i].grade_2>arr[max].grade_2) sum++; } printf("%d ", sum); sum=1; for(i=1; i<=n; i++) { if(arr[i].grade_3>arr[max].grade_3) sum++; } printf("%d", sum); } */ #include<stdio.h> typedef struct { int country; int number; int grade; int standing; } g; int main() { int n, i, j, sum=4; g arr[101]; scanf("%d", &n); for(i=1; i<=n; i++) { scanf("%d %d %d", &arr[i].country, &arr[i].number, &arr[i].grade); } for(i=1; i<=n; i++) { arr[i].standing=1; for(j=1; j<=n; j++) { if(arr[j].grade>arr[i].grade) arr[i].standing++; } } for(i=1; i<=n; i++) { if(arr[i].standing==1) { printf("%d %d\n", arr[i].country, arr[i].number); arr[i].grade=0; break; } } for(j=1; j<=n; j++) { if(arr[j].standing==2) { printf("%d %d\n", arr[j].country, arr[j].number); arr[j].grade=0; break; } } if(arr[i].country==arr[j].country) { for(i=1; i<=n; i++) { if(arr[i].country==arr[j].country) { arr[i].grade=0; } } } int mi=1; for(i=1; i<=n; i++) { if(arr[mi].grade<arr[i].grade) { mi=i; } } printf("%d %d\n", arr[mi].country, arr[mi].number); }
0
0
2
jangminjego
2022년 3월 19일
In 소스 코드 제출
/* #include <stdio.h> int n, d[110]; int f() { int max=0, k=0; for(int i=0; i<n; i++) { if(i==0&&d[i]==0) { max=d[i]; k=i+1; } else if(d[i]>max) { max=d[i]; k=i+1; } } return k; } int main() { scanf("%d", &n); for(int i=0; i<n; i++) scanf("%d", &d[i]); printf("%d", f()); return 0; } */ /* #include <stdio.h> int n; long long int d[110]; long long int f() { long long int max=d[1]; for(int i=1; i<=n; i++) { if(d[i]<max) { max=d[i]; } } return max; } int main() { scanf("%d", &n); for(int i=1; i<=n; i++) scanf("%lld", &d[i]); printf("%lld", f()); return 0; } */ /* #include <stdio.h> long long int n; int sqrt(long long int a) { long long int i; for(i=0; i<=a; i++) { if(i*i==a) { return i; } else if(i*i>a) { return i-1; } } } int main() { scanf("%lld", &n); printf("%d\n", sqrt(n)); return 0; } */ /* #include <stdio.h> int n; long long int f(long long int a) { long long int i, sum=0; for(i=1; i<=a; i++) { sum=sum+i; } return sum; } int main() { scanf("%d", &n); printf("%lld\n", f(n)); } */ /* #include <stdio.h> long long int n; long long int f(long long int a) { long long int i=0, k=a, sum=0; for(;k>=1;k=k/10) { sum=sum*10+k%10; } return sum; } int main() { scanf("%lld", &n); printf("%lld\n", f(n)); } */ /* #include <stdio.h> int gcd(int p, int q){ if(p==0) return q; return gcd(q%p, p);} long long int lcm(long long int a, long long int b) { long long int max; max=a*b/gcd(a, b); return max; } int main() { int a, b; scanf("%d%d", &a, &b); printf("%lld\n", lcm(a, b)); } */ /* #include <stdio.h> int a, n; long long int pow(int x, int y) { long long int sum=x; if(y==0) sum=1; else if(x==1||x==0) return x; else { for(int i=1; i<y; i++) sum=sum*x; } return sum; } int main() { scanf("%d%d", &a, &n); printf("%lld\n", pow(a, n)); } */ /* #include <stdio.h> int n, k, d[1010]; int lower_bound(long long int a) { for(int i=1; i<=n; i++) { if(d[i]>=a) { return i; } } return n+1; } int main() { scanf("%d", &n); for(int i=1; i<=n; i++) scanf("%d", &d[i]); scanf("%d", &k); printf("%d\n", lower_bound(k)); } */ #include <stdio.h> int n, k, d[1010]; int upper_bound(int a) { for(int i=1; i<=n; i++) { if(d[i]>a) { return i; } } return n+1; } int main() { scanf("%d", &n); for(int i=1; i<=n; i++) scanf("%d", &d[i]); scanf("%d", &k); printf("%d\n", upper_bound(k)); }
0
0
2
jangminjego
2022년 3월 06일
In 소스 코드 제출
/* #include <stdio.h> int main() { int i, j, x[9], y[9], a, arr[12][12], k; 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]>0) { for(k=1; k<=arr[i][j]; k++) { if(j-k<1 || arr[i][j-k]==-1) break; else if(arr[i][j-k]==0) arr[i][j-k]=-2; } for(k=1; k<=arr[i][j]; k++) { if(i+k>10 || arr[i+k][j]==-1) break; else if(arr[i+k][j]==0) arr[i+k][j]=-2; } for(k=1; k<=arr[i][j]; k++) { if(i-k<1 || arr[i-k][j]==-1) break; else if(arr[i-k][j]==0) arr[i-k][j]=-2; } for(k=1; k<=arr[i][j]; k++) { if(j+k>10 || arr[i][j+k]==-1) break; else if(arr[i][j+k]==0) arr[i][j+k]=-2; } arr[i][j]=-2; } } } scanf("%d", &a); for(i=1; i<=a; i++) { scanf("%d", &x[i]); scanf("%d", &y[i]); if(arr[x[i]][y[i]]!=-2) { arr[x[i]][y[i]]=i; } } for(i=1; i<=10; i++) { for(j=1; j<=10; j++) { printf("%d ",arr[i][j]); } printf("\n"); } printf("Character Information\n"); for(i=1; i<=a; i++) { if(arr[x[i]][y[i]]==-2) { printf("player %d dead", i); } else { printf("player %d survive", i); arr[x[i]][y[i]]=i; } printf("\n"); } } */ /* #include <stdio.h> int n, d[100010], k; int f(int k) { for(int i=1; i<=n; i++) { if(d[i]==k) { return i; } } return -1; } int main() { scanf("%d", &n); for(int i=1; i<=n; i++) scanf("%d", &d[i]); scanf("%d", &k); printf("%d\n", f(k)); } */ /* #include <stdio.h> int a, b; int gcd(int a, int b) { int i; for(i=a; i>=1; i--) { if(a%i==0&&b%i==0) { return i; } } } int main() { scanf("%d%d", &a, &b); printf("%d\n", gcd(a, b)); } */ /* #include <stdio.h> int n, a, b, d[1010]; int subsetsum(int a, int b) { long long int sum=0, i; for(i=0; i<=b-a; i++) { sum=sum+d[a+i]; } return sum; } int main() { scanf("%d", &n); for(int i=1; i<=n; i++) scanf("%d", &d[i]); scanf("%d%d", &a, &b); printf("%lld\n", subsetsum(a, b)); } */ #include <stdio.h> int n, a, b, d[1010]; int maxi(int a, int b) { int k=a, i, max=d[a]; for(i=a; i<=b; i++) { if(d[i]>max) { max=d[i]; k=i; } } return k; } int main() { scanf("%d", &n); for(int i=1; i<=n; i++) scanf("%d", &d[i]); scanf("%d%d", &a, &b); printf("%d\n", maxi(a, b)); }
0
0
4
jangminjego
2022년 2월 27일
In 소스 코드 제출
/*#include <stdio.h> int main() { int w, h, l, d, x, y, a, i, j, arr[100][100]= {0}; scanf("%d", &w); scanf("%d", &h); scanf("%d", &a); for(i=1; i<=a; i++) { scanf("%d", &l); scanf("%d", &d); scanf("%d", &x); scanf("%d", &y); if(d==0) { for(j=0; j<l; j++) { arr[x][y+j]=1; } } else if(d==1) { for(j=0; j<l; j++) { arr[x+j][y]=1; } } } for(i=1; i<=w; i++) { for(j=1; j<=h; j++) { printf("%d ",arr[i][j]); } printf("\n"); } } 함수 : c언어 명령의 집합 묶음 (심부름) */ /* #include <stdio.h> int arr[11][11]; //전역변수 global g() { } f() { int i, j; for(i=1; i<=10; i++) { for(j=1; j<=10; j++) { printf("%d ",arr[i][j]); } printf("\n"); } } int main() { int i, j, x=2, y=2; //지역변수 local for(i=1; i<=10; i++) { for(j=1; j<=10; j++) { scanf("%d",&arr[i][j]); } } if(arr[2][2]==2) { arr[2][2]=9; } else { arr[2][2]=9; for(i=2; i<=3; ) { if(arr[y][x+1]==0) { arr[y][x+1]=9; x++; } else if(arr[y][x+1]==2) { arr[y][x+1]=9; break; } else if(arr[y+1][x]==0) { arr[y+1][x]=9; y++; } else if(arr[y+1][x]==2) { arr[y+1][x]=9; break; } else { break; } } } f(); } */ /* #include<stdio.h> int main() { int x1, y1, x2, y2, sum=0; int k, i, j, arr[100][100]= {0}; for(k=1; k<=4; k++) { scanf("%d", &x1); scanf("%d", &y1); scanf("%d", &x2); scanf("%d", &y2); for(i=0; i<x2-x1; i++) { for(j=0; j<y2-y1; j++) { arr[x1+i][y1+j]=1; } } } for(i=0; i<100; i++) { for(j=0; j<100; j++) { sum=sum+arr[i][j]; } } printf("%d", sum); } */ /* #include<stdio.h> int main() { int i, j, arr[11][10]; for(i=0; i<=10; i++) { for(j=0; j<10; j++) { scanf("%d",&arr[i][j]); } } for(i=0; i<10; i++) { if(arr[10][i]==1) { for(j=9; j>=0; j--) { if(arr[j][i]<0) { printf("%d fall\n",i+1); break; } else if(arr[j][i]>0) { printf("%d crash\n",i+1); break; } else if(j==0) { printf("%d safe\n",i+1); } } } } } */ /* #include<stdio.h> #include<math.h> int main() { int n, x, y, i, j; scanf("%d", &n); scanf("%d", &x); scanf("%d", &y); for(i=1; i<=n; i++) { for(j=1; j<=n; j++) { printf("%d ", abs(y-j)+abs(x-i)+1); } printf("\n"); } } star(n) : *을 n번 출력 매개체 (매개변수) */ #include <stdio.h> int star(int a,int b) { // int i; // for(i=1;i<=a;i++) // { // printf("*"); // } return a+b; } int main() { int n; scanf("%d",&n); printf("%d",star(n,5)); }
0
0
5
jangminjego
2022년 2월 20일
In 소스 코드 제출
/* #include <stdio.h> int main() { int n, i, j, arr[50][50]={0}, k=1; scanf("%d", &n); i=0; j=n/2; for(k=1; k<=n*n; k++) { arr[i][j]=k; if(k%n==0) { if(i==n-1) { i=0; } else { i++; } } else { if(i==0) { i=n-1; } else { i--; } if(j==n-1) { j=0; } else { j++; } } } for(i=0; i<n; i++) { for(j=0; j<n; j++) { printf("%d ",arr[i][j]); } printf("\n"); } } */ /* #include <stdio.h> int main() { int n, i, j, arr[100][100]= {0}, k=1, sum=0; scanf("%d",&n); for(i=0; i<n; i++) { for(j=0; j<n; j++) { arr[i][j]=k++; } } for(i=0; i<n; i++) { for(j=0; j<n; j++) { if(i==0||j==0||i==n-1||j==n-1) { sum=sum+arr[i][j]; } } } printf("%d",sum); } */ /* #include <stdio.h> int main() { int i, j, arr[27][27]={}, k, arr1[27][27]={}; for(i=1; i<=25; i++) { for(j=1; j<=25; j++) { scanf("%d",&arr[i][j]); } } for(i=1; i<=25; i++) { for(j=1; j<=25; j++) { k=arr[i-1][j]+arr[i+1][j] +arr[i-1][j+1]+arr[i][j+1]+arr[i+1][j+1] +arr[i-1][j-1]+arr[i][j-1]+arr[i+1][j-1]; if(arr[i][j]==0) { if(k==3) { arr1[i][j]=1; } else { arr1[i][j]=0; } } else if(arr[i][j]==1) { if(k==2||k==3) { arr1[i][j]=1; } else { arr1[i][j]=0; } } } } for(i=1; i<=25; i++) { for(j=1; j<=25; j++) { printf("%d ",arr1[i][j]); } printf("\n"); } } */ #include <stdio.h> int main() { int i, j, arr[101][101]={}, k, sum=0, m, n, x, y, max=0; int ii,jj; scanf("%d",&m); scanf("%d",&n); scanf("%d",&y); scanf("%d",&x); for(i=1; i<=n; i++) { for(j=1; j<=m; j++) { scanf("%d",&arr[i][j]); } } for(i=1; i<=n+1-x; i++) { for(j=1; j<=m+1-y; j++) { sum=0; for(ii=i; ii<i+x; ii++) { for(jj=j; jj<j+y; jj++) { sum=sum+arr[ii][jj]; } } if(max<sum) { max=sum; } } } printf("%d",max); }
0
0
1

jangminjego

더보기
bottom of page