문제 풀이
[SWEA] 1954 달팽이 숫자
컴영
2020. 4. 22. 19:43
1954. 달팽이 숫자
풀이)
쉬운 문제이다.
숫자들을 for문을 이용해 배열에 저장한 뒤, 배열을 출력했다.
코드)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #include <stdio.h> using namespace std; int arr[10][10]; int main() { int T = 0; //freopen("input (1).txt", "r", stdin); scanf("%d", &T); for (int test_case = 1; test_case <= T; test_case++) { int n; scanf("%d", &n); if (n == 1) { printf("#%d\n1\n", test_case); continue; } int sy=0, sx=0, ey=n-1, ex=n-1; int num = 1; while (sy<=ey) { //윗변 for (int i = sx; i <= ex; i++) { arr[sy][i] = num; num++; } //오른변 for (int i = sy + 1; i <= ey; i++) { arr[i][ex] = num; num++; } //밑변 for (int i = ex - 1; i >= sx; i--) { arr[ey][i] = num; num++; } //왼변 for (int i = ey - 1; i > sy; i--) { arr[i][sx] = num; num++; } sy++; sx++; ey--; ex--; } printf("#%d\n", test_case); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { printf("%d ", arr[i][j]); } printf("\n"); } } return 0; } | cs |