일지

JUNGOL...41

niamdank 2021. 1. 18. 14:18

Beginner_Coder/도형만들기1/문자사각형1


문제                                            

정사각형의 한 변의 길이 n을 입력받은 후 다음과 같은 문자로 된 정사각형 형태로 출력하는 프로그램을 작성하시오.

 

< 처리조건 >
문자의 진행 순서는 맨 오른쪽 아래에서 위쪽으로 'A'부터 차례대로 채워나가는 방법으로 아래 표와 같이 왼쪽 위까지 채워 넣는다.  'Z' 다음에는 다시 'A'부터 반복된다.

 

입력 형식                                     

정사각형 한 변의 길이 n(n의 범위는 1이상 100 이하의 정수)을 입력받는다.

 

출력 형식                                     

위의 형식과 같이 한변의 길이가 n인 문자 사각형을 출력한다. 문자 사이는 공백으로 구분하여 출력한다.

 

입력 예                                        

4

 

출력 예                                        

P L H D

O K G C

N J F B

M I E A

 

Hint!

<생각하기>

열을 우선으로 하여 바깥 for문을 작성하되 행과 열 모두 n부터 1까지로 순서를 정해서 채워나가면 된다. 

채워야 할 배열은 정수가 아닌 문자배열로 선언하고 int num = 1; 대신 char ch = 'A'; 와 같이 문자로 선언하고 초기화 해서 처리하면 된다.


CharacterSquare1.h

#include <iostream>

 

CharacterSquare1.cpp

	int n;

	std::cin >> n;
	
	char arr[101][101];

	char ch{ 'A' };
	for (int i = n - 1; i >= 0; i--)
	{
		for (int j = n - 1; j >= 0; j--)
		{
			arr[j][i] = ch++;

			if (ch > 'Z')
			{
				ch = 'A';
			}
		}
	}

	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			std::cout << arr[i][j] << ' ';
		}
		std::cout << '\n';
	}

 

Beginner_Coder/도형만들기1/문자사각형2


문제                                            

정사각형의 한 변의 길이 n을 입력받은 후 다음과 같은 문자로 된 정사각형 형태로 출력하는 프로그램을 작성하시오.

 

< 처리조건 > 

문자의 진행 순서는 왼쪽 위에서부터 아래쪽으로 ‘A'부터 차례대로 채워나가고 

다시 오른쪽 아래부터 위쪽으로 채워나가는 방법으로 아래 표와 같이 채워 넣는다.

'Z' 다음에는 다시 'A'부터 반복된다.

 

입력 형식                                     

정사각형 한 변의 길이 n(n의 범위는 1이상 100 이하의 정수)을 입력받는다.

 

출력 형식                                     

위의 형식과 같이 한변의 길이가 n인 숫자 사각형을 출력한다. 숫자 사이는 공백으로 구분하여 출력한다.

 

입력 예                                        

4

 

출력 예                                        

A H I P

B G J O

C F K N

D E L M


CharacterSquare2.h

#include <iostream>

 

CharacterSquare2.cpp

	int n;

	std::cin >> n;

	char arr[101][101];

	char ch{ 'A' };
	for (int i = 0; i < n; i++)
	{
		if (i % 2 == 1)
		{
			for (int j = n - 1; j >= 0; j--)
			{
				arr[j][i] = ch++;

				if (ch > 'Z')
				{
					ch = 'A';
				}
			}
		}
		else
		{
			for (int j = 0; j < n; j++)
			{
				arr[j][i] = ch++;

				if (ch > 'Z')
				{
					ch = 'A';
				}
			}
		}
	}

	for (int i = 0; i < n; i++)
	{
		for (int j = 0; j < n; j++)
		{
			std::cout << arr[i][j] << ' ';
		}
		std::cout << '\n';
	}

 

NadanKim/CodingTest_JUNGOL: JUNGOL 코딩 테스트를 위한 저장소 (github.com)

 

NadanKim/CodingTest_JUNGOL

JUNGOL 코딩 테스트를 위한 저장소. Contribute to NadanKim/CodingTest_JUNGOL development by creating an account on GitHub.

github.com