-
JUNGOL...41일지 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)