ascode 1090 알파벳 다이아몬드

1 분 소요

문제 설명

다이아몬드 중앙을 알파벳 A부터 시작하여 한칸씩 커질 때마다 B, C, D,…Z의 순으로 둘러싸는 형태의 다이아몬드를 그려보자.

입력 설명

다이아몬드 중앙을 알파벳 A부터 시작하여 한칸씩 커질 때마다 B, C, D,…Z의 순으로 둘러싸는 형태의 다이아몬드를 그려보자.

출력 설명

중앙부터 A로 시작하여 B, C, D의 순서로 둘러싸는 형태의 속이 꽉 찬 다이아몬드를 높이의 반이 N이 되도록 출력한다.(자세한 출력 형식은 샘플 출력 참조) 각 테스트 케이스의 결과들 사이에는 빈 줄을 넣지 않도록 한다.

입력 예시

2
3
4

출력 예시

  C
 CBC
CBABC
 CBC
  C
   D
  DCD
 DCBCD
DCBABCD
 DCBCD
  DCD
   D

코드1

#include <stdio.h>
 
int main() {
    int a, n;
    scanf("%d", &a);
    for (int i = 0; i < a; i++)
    {
        scanf("%d", &n);
        for (int i = 1; i <= n; i++) {
            int with = 2 * i - 1;
            int temp = n;
            for (int j = n - i; j > 0; j--)
            {
                printf(" ");
            }
            for (int k = 0; k < 2 * i - 1; k++)
            {
                if (k < (with / 2)) {
                    printf("%c", 64 + temp);
                    temp--;
                }
                else {
                    printf("%c", 64 + temp);
                    temp++;
                }
            }
            printf("\n");
        }
        for (int i = n - 1; i > 0; i--) {
            int with = 2 * i - 1;
            int temp = n;
            for (int j = n - i; j > 0; j--)
            {
                printf(" ");
            }
            for (int k = 0; k < 2 * i - 1; k++)
            {
                if (k < (with / 2)) {
                    printf("%c", 64 + temp);
                    temp--;
                }
                else {
                    printf("%c", 64 + temp);
                    temp++;
                }
            }
            printf("\n");
        }
    }
    return 0;
}

나 : say

몰?루

댓글남기기