[정올] 2046_숫자사각형4 (JAVA)
업데이트:
문제
정사각형의 한 변의 길이 n과 종류 m을 입력받은 후 다음과 같은 정사각형 형태로 출력하는 프로그램을 작성하시오.
처리조건
종류 2번의 경우 숫자의 진행 순서는 처음에 왼쪽에서 오른쪽으로 너비 n만큼 진행 한 후 방향을 바꾸어서 이를 반복한다.
입력형식
- 정사각형 한 변의 길이 n(n의 범위는 100 이하의 정수)과 종류 m(m은 1부터 3사이의 정수)을 입력받는다.
출력형식
- 위에서 언급한 3가지 종류를 입력에서 한 변의 길이 n과 종류 m에 맞춰서 출력한다. 숫자 사이는 공백으로 구분하여 출력한다.
입출력 예
코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int[][] numArr = new int[n][n];
int num = 1;
if (m == 1) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
numArr[i][j] = num;
}
num++;
}
}
if (m == 2) {
for (int i = 0; i < n; i++) {
num = 1;
if (i % 2 == 0) {
for (int j = 0; j < n; j++) {
numArr[i][j] = num++;
}
} else {
for(int j = n-1; j >= 0; j--) {
numArr[i][j] = num++;
}
}
}
}
if(m == 3) {
num = 1;
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
if(i == 0) numArr[i][j] = num++;
else numArr[i][j] = numArr[0][j] * (i+1);
}
}
}
for(int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
System.out.print(numArr[i][j] + " ");
}
System.out.println();
}
}
}
댓글남기기