728x90
문제
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
정사각형의 크기 n이 주어졌을 때, 다음 포맷에 맞게 출력하는 프로그램을 작성해주세요.
- 오른쪽 아래에서 'A' 부터 시작하여 위로 문자가 증가하게 출력합니다.
- 맨 위에 도착하면 왼쪽 줄 맨 아래부터 다시 시작합니다.
- Z 다음에는 다시 A부터 시작합니다.
- 각 문자 사이에는 공백이 하나 존재합니다.
n이 3일 때
I F C
H E B
G D A
코드
첫 번째 줄에 n이 주어진다.
- 1 <= n <= 100
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int n = Integer.parseInt(st.nextToken());
// n x n 크기의 배열 선언
char[][] chars = new char[n][n];
char ch = 'A';
// 배열 역순으로 순회
for (int i = n - 1; i >= 0; i--) {
for (int j = n - 1; j >= 0; j--) {
// ch가 Z보다 크면 A로 초기화
if (ch > 'Z') {
ch = 'A';
}
chars[j][i] = ch; // 아래에서 위로 문자 담기
ch++;
}
}
// 2차원 배열 출력
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
sb.append(chars[i][j]).append(" ");
}
sb.append("\n");
}
System.out.println(sb);
}
}
728x90