문제
달팽이 행렬을 구하는 문제
풀이방법
달팽이 행렬의 패턴을 찾는다
소스코드
package samsung;
import java.util.*;
public class s_1954 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int test = sc.nextInt();
for(int t = 1; t <= test; t++) {
int n = sc.nextInt();
int[][] a = new int[n][n];
int turn = 1;
int x = 0, y = -1;
int cnt = 1;
while(true) {
for(int i = 0; i < n; i++) {
y = y + turn;
a[x][y] = cnt;
cnt++;
}
n--;
for(int i = 0; i < n; i++) {
x = x + turn;
a[x][y] = cnt;
cnt++;
}
turn *= -1;
if(n == 0)
break;
}
System.out.println("#" + t);
for(int i = 0; i < a.length; i++) {
for(int j = 0; j < a.length; j++) {
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
}
}
'Problem Solving > SWEA' 카테고리의 다른 글
[SWEA] 1217. [S/W 문제해결 기본] 4일차 - 거듭 제곱 (0) | 2020.02.15 |
---|---|
[SWEA] 1215. [S/W 문제해결 기본] 3일차 - 회문1 (0) | 2020.02.15 |
[SWEA] 1948. 날짜 계산기 (0) | 2020.02.09 |
[SWEA] 1230. 암호문3 (0) | 2020.02.09 |
[SWEA] 1945. 간단한 소인수분해 (0) | 2020.02.09 |
댓글