본문 바로가기

알고리즘 · 코딩

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

문제 링크

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWSNw5jKzwMDFAUr&categoryId=AWSNw5jKzwMDFAUr&categoryType=CODE#none

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com


C++ 풀이

#include <string>
#include <vector>
#include <iostream>
using namespace std;

string FirstAndFifthLine(int stringLength) {
	string s;
	for (int i = 1; i <= ((5 * stringLength) - stringLength + 1); i++) {
		if ((i - 3) % 4 == 0)
			s += "#";
		else
			s += ".";
	}
	return s + "\n";
}

string ThirdLine(string inputString) {
	int stringLength = inputString.length();
	string s;
	int index = 0;
	for (int i = 1; i <= ((5 * stringLength) - stringLength + 1); i++) {
		if ((i - 1) % 4 == 0)
			s += "#";
		else if ((i - 3) % 4 == 0) {
			s += inputString[index];
			index++;
		}
		else
			s += ".";
	}
	return s + "\n";
}

string SecondAndFourthLine(int stringLength) {
	string s;
	for (int i = 1; i <= ((5 * stringLength) - stringLength + 1); i++) {
		if (i % 2 == 0)
			s += "#";
		else
			s += ".";
	}
	return s + "\n";
}

int main() {
	string inputString, answer, temp1, temp2;
	int T;
	cin >> T;
	for (int i = 1; i <= T; i++) {
		cin >> inputString;
		temp1 = FirstAndFifthLine(inputString.length());
		temp2 = SecondAndFourthLine(inputString.length());
		answer += temp1 + temp2 + ThirdLine(inputString) + temp2 + temp1;
	}
	cout << answer;
	return 0;
}

 

 

 

반응형

'알고리즘 · 코딩' 카테고리의 다른 글

[SWEA 3431] 준환이의 운동관리  (0) 2020.06.09
[SWEA 6730] 장애물 경주 난이도  (0) 2020.06.08
[SWEA 4261] 빠른 휴대전화 키패드  (0) 2020.06.04
[SWEA 8658] Summation  (0) 2020.06.03
[SWEA 8821] 적고 지우기  (0) 2020.06.02