1 분 소요

코드업 문제 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;
}

태그: ,

카테고리:

업데이트:

댓글남기기