N

(SWEA c++)4751. 다솔이의 다이아몬드 장식 본문

SW Expert Academy

(SWEA c++)4751. 다솔이의 다이아몬드 장식

naeunchan 2020. 11. 13. 11:35
728x90
반응형

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

 

SW Expert Academy

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

swexpertacademy.com

for문을 이용하여 다이아몬드 장식을 출력한다.

 

예시를 보면 규칙이 나와있다.

1, 5번째 줄의 규칙이 같고

2, 4번째 줄의 규칙이 같다.

3번째 줄의 규칙도 간단히 확인할 수 있다.

 

우선 1, 5번째 줄.

문자열의 길이만큼 "..#."을 출력한 후, 마지막에 "."만 하나 더 추가해서 출력하면 된다.

 

2, 4 번째 줄.

맨 앞에 "#"을 출력한 후,

문자열의 길이 * 2 만큼 "#."을 출력하면 된다.

 

3번째 줄.

맨 앞에 "#"을 출력하고

문자열의 길이만큼 ".[문자].#" 를 출력하면 완성.

#include <iostream>
#include <string>

using namespace std;

int main(void)
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    
    int t;
    cin >> t;
    
    for(int tc = 1; tc <= t; tc++)
    {
        string s;
        cin >> s;
        
        for(int i = 0; i < 5; i++)
        {
            if(i == 0 || i == 4)
            {
                for(int j = 0; j < s.size(); j++)
                    cout << "..#.";
                cout << "." << endl;
            }
            else if(i != 2)
            {
                cout << ".";
                for(int j = 0; j < s.size() * 2; j++)
                    cout << "#.";
                cout << endl;
            }
            else
            {
                cout << "#";
                for(int j = 0; j < s.size(); j++)
                    cout << "." << s[j] << ".#";
                cout << endl;
            }
        }
    }
    return 0;
}
728x90
반응형