All Articles

[SWEA] 4751 다솔이의 다이아몬드 장식 c언어

[SWEA] 4751 다솔이의 다이아몬드 장식 C언어

문제

#include <stdio.h>
int T;
char data[60];
int length;
int main(void) {
	scanf("%d", &T);
	for (int tc = 0; tc < T; tc++) {
		scanf("%s", &data);	 //문자열 입력
		length = 0;
		while (data[length] != '\0') length++; // 문자열 길이
		// 1번줄
		printf("..#");
		for (int i = 0; i < length - 1; i++) {
			printf("...#");
		}
		printf("..\n");
		//2번줄
		for (int i = 0; i < length * 2; i++) {
			printf(".#");
		}
		printf(".\n");
		//3번줄
		for (int i = 0; i < length; i++) {
			printf("#.%c.", data[i]);
		}
		printf("#\n");
		//4번줄
		for (int i = 0; i < length * 2; i++) {
			printf(".#");
		}
		printf(".\n");
		//5번줄
		for (int i = 0; i < length; i++) {
			printf("..#.");
		}
		printf(".\n");
	}
	return 0;
}

반복되는 문자의 특징을 잡아 출력한다.

초기화가 중요하기 때문에 length를 for 안에서 한번 초기화 한다.