문제
정사각형의 한 변의 길이 n과 종류 m을 입력받은 후 다음과 같은 정사각형 형태로 출력하는 프로그램을 작성하시오.
<처리조건>
종류 2번의 경우 숫자의 진행 순서는 처음에 왼쪽에서 오른쪽으로 너비 n만큼 진행 한 후 방향을 바꾸어서 이를 반복한다.

입력형식
정사각형 한 변의 길이 n(n의 범위는 100 이하의 정수)과 종류 m(m은 1부터 3사이의 정수)을 입력받는다.
출력형식
위에서 언급한 3가지 종류를 입력에서 한 변의 길이 n과 종류 m에 맞춰서 출력한다. 숫자 사이는 공백으로 구분하여 출력한다.
입력 예
3 2
출력 예
1 2 3
3 2 1
1 2 3
입력 예
4 3
출력 예
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16
코드
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 k = 1;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
// 종류 1번
if (m == 1) {
System.out.print(k + " ");
if ((j + 1) % n == 0) {
System.out.println();
k++;
}
}
// 종류 2번
else if (m == 2) {
if (i % 2 == 0) { // 짝수 줄
System.out.print(k + " ");
k++;
}
else { // 홀수 줄
k--;
System.out.print(k + " ");
}
if ((j + 1) % n == 0) {
System.out.println();
}
}
// 종류 3번
else if (m == 3) {
System.out.print(k + (k*j) + " ");
if ((j + 1) % n == 0) {
System.out.println();
k++;
}
}
}
}
sc.close();
}
}
'Algorithm > JUNGOL' 카테고리의 다른 글
[정올] 1314 : 문자사각형2 (0) | 2022.01.17 |
---|---|
[정올] 1307 : 문자사각형1 (0) | 2022.01.15 |
[정올] 1304 : 숫자사각형3 (0) | 2022.01.15 |
[정올] 1856 : 숫자사각형2 (0) | 2022.01.15 |
[정올] 1303 : 숫자사각형1 (0) | 2022.01.14 |