본문 바로가기

Baekjoon/C++

[C++][BOJ/백준] 23812 골뱅이 찍기 - 돌아간 ㅍ

 

 

Baekjoon Online Judge

 

23812번: 골뱅이 찍기 - 돌아간 ㅍ

서준이는 아빠로부터 골뱅이가 들어 있는 상자를 생일 선물로 받았다. 상자 안에는 반시계 방향으로 90도 돌아간 ㅍ자 모양의 골뱅이가 들어있다. 돌아간 ㅍ자 모양은 가로 및 세로로 각각 5개

www.acmicpc.net

 

 

[문제]

서준이는 아빠로부터 골뱅이가 들어 있는 상자를 생일 선물로 받았다. 상자 안에는 반시계 방향으로 90도 돌아간 ㅍ자 모양의 골뱅이가 들어있다. 돌아간 ㅍ자 모양은 가로 및 세로로 각각 5개의 셀로 구성되어 있다. 상자에는 정사각형 모양의 셀의 크기를 나타내는 숫자 하나가 적혀있다. 셀의 크기 N이 주어지면 예제 출력과 같은 방식으로 골뱅이 모양을 출력하시오.

 

 

[입력]

첫째 줄에 정수 N(1 ≤ N ≤ 100)이 주어진다.

 

 

[출력]

셀의 크기가 N인 골뱅이를 출력한다.

 

 


 

[코드]

#include <iostream>
using namespace std;

void gapO(int n)
{
    for (int j = 0; j < n; j++)
        cout << "@";

    for (int j = 0; j < n * 3; j++)
        cout << " ";

    for (int j = 0; j < n; j++)
        cout << "@";

    cout << '\n';
}

void gapX(int n)
{
    for (int j = 0; j < n * 5; j++)
        cout << "@";

    cout << '\n';
}

int main()
{
    int N;

    cin >> N;

    for (int i = 0; i < N * 5; i++)
    {
        if (i < N)
        {
            gapO(N);
        }
        else if (i < N * 2)
        {
            gapX(N);
        }
        else if (i < N * 3)
        {
            gapO(N);
        }
        else if (i < N * 4)
        {
            gapX(N);
        }
        else
        {
            gapO(N);
        }
    }

    return 0;
}