C언어 기초 100제[1,2차원배열]
코드업 문제 1093~1099번 문제 풀이입니다.
기초-1차원배열
1093번
#include <stdio.h>
int main()
{
int n, t;
int a[24]={};
scanf("%d", &n);
for(int i=1; i<=n; i++)
{
scanf("%d", &t);
a[t]=a[t]+1;
}
for(int j=1; j<=23; j++)
{
printf("%d ", a[j]);
}
return 0;
}
1094번
#include <stdio.h>
int main()
{
int n;
int a[10001]={};
scanf("%d", &n);
for(int i=1; i<=n; i++)
{
scanf("%d", &a[i]);
}
for(int j=n; j>=1; j--)
{
printf("%d ", a[j]);
}
return 0;
}
1095번
#include <stdio.h>
int main()
{
int n,min;
int a[10001]={};
scanf("%d", &n);
for(int i=1; i<=n; i++)
{
scanf("%d", &a[i]);
if (i==1)
{
min=a[i];
}
else
{
if (a[i]<min)
{
min=a[i];
}
}
}
printf("%d",min);
return 0;
}
기초-2차원배열
1096번
#include <stdio.h>
int main(void) {
int n, i, j, x, y;
int a[20][20]={};
scanf("%d", &n);
for(i=1; i<=n; i++)
{
scanf("%d %d", &x, &y);
a[x][y]=1;
}
for(i=1; i<=19; i++) //한 줄(위에서 아래로) 씩
{
for(j=1; j<=19; j++) //한 열(왼쪽에서 오른쪽으로) 씩
{
printf("%d ", a[i][j]); //값 출력
}
printf("\n"); //줄 바꾸기
}
return 0;
}
1097번
#include <stdio.h>
int main(void)
{
int n, i, j, x, y;
int a[20][20]={};
for(i=1; i<=19; i++) //한 줄씩 바둑판 상황 입력 받기
for(j=1; j<=19; j++)
scanf("%d", &a[i][j]);
scanf("%d", &n); //좌표 개수 입력받기
for(i=1; i<=n; i++) //좌표의 개수만큼
{
scanf("%d %d", &x, &y);
for(j=1; j<=19; j++) //가로 줄 흑<->백 바꾸기
{
if(a[x][j]==0) a[x][j]=1;
else a[x][j] = 0;
}
for(j=1; j<=19; j++) //세로 줄 흑<->백 바꾸기
{
if(a[j][y]==0) a[j][y]=1;
else a[j][y] = 0;
}
}
for(i=1; i<=19; i++)
{
for(j=1; j<=19; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
1098번
#include <stdio.h>
int main(void)
{
int w,h,n,l,d,i,j,x,y;
scanf("%d %d",&w,&h);
scanf("%d",&n);
int a[101][101]={};
for(i=1; i<=n; i++)
{
scanf("%d %d %d %d",&l,&d,&x,&y);
for(j=0; j<l; j++)
{
if(d==0)
{
a[x][y+j]=1;
}
else
{
a[x+j][y]=1;
}
}
}
for(i=1; i<=w; i++)
{
for(j=1; j<=h; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
1099번
#include <stdio.h>
int main(void)
{
int i,j,x=2,y=2;
int a[11][11]={};
for (i=1;i<=10;i++)
{
for (j=1;j<=10;j++)
{
scanf("%d",&a[i][j]);
}
}
while(1)
{
if(a[x][y]==0)
{
a[x][y]=9;
y++;
}
if(a[x][y]==1)
{
y--;
x++;
}
if(a[x][y]==2)
{
a[x][y]=9;
break;
}
else if((a[x][y+1]==1)&&(a[x+1][y]==1))
{
if(a[x][y]==0)
{
a[x][y]=9;
}
break;
}
}
for(i=1; i<=10; i++)
{
for(j=1; j<=10; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
댓글남기기