728x90
반응형

문제 : http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=609&sca=2020

 

JUNGOL

 

www.jungol.co.kr

문제

삼각형의 높이 N을 입력받아서 아래와 같이 숫자 0부터 달팽이 모양으로 차례대로 채워진 삼각형을 출력하는 프로그램을 작성하시오.

 

< 처리조건 >
왼쪽 위부터 시계방향으로 오른쪽 아래로 이동하면서 숫자 0부터 N개를 채우고 

다시 왼쪽으로, 다음은 위쪽으로 반복하면서 채워 나간다. (숫자 9 다음에는 0부터 다시 시작한다.)

 

 

 

 

입력형식

삼각형의 한변의 길이 N(N의 범위는 100 이하의 양의 정수)을 입력받는다.

 

출력형식

주어진 형태대로 높이가 N인 달팽이 삼각형을 출력한다. 숫자 사이는 한 개의 공백으로 구분한다.

 

입력 예

6

출력 예

0 
4 1 
3 5 2 
2 0 6 3 
1 9 8 7 4 
0 9 8 7 6 5

 

코드 : 

	# include <stdio.h>
	
	int main()
	{
		int n,m,i,j,count=0;
		int arr[100][100];
		int x=-1,y=-1;
		scanf("%d",&n);
		
		if(n > 100 || n<1)
		{
			printf("INPUT ERROR!");
			return 0;
		}
		
		for(i = 0; i<n; i++)
		{
			for(j = i; j<n; j++)
			{
				if(i%3 == 0)
				{
					x++; 
					y++;
				}
				else if(i%3 == 1)
				{
					y--;
				}
				else if(i%3 == 2)
				{
					x--;
				}
				arr[x][y] = (count++)%10;
			}
		}
		for(i = 0; i<n; i++)
		{
			for(j = 0; j<=i; j++)
			{
				printf("%d ",arr[i][j]);
			}
			printf("\n");
		}
		
		
		
		
		return 0;
	}
728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기