아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

도형 그리기

시간 제한1초메모리 제한1024 MB

요약
도형 이름, 크기, 채움 여부가 주어지면 각 도형을 # 문자로 그려 출력합니다.
난이도

쉬움10점 중 2점

유형
구현
정답자
아직 제출이 없습니다

문제

수업 시간에 심심해진 학생이 종이에 도형을 그리는 대신 프로그램이 그려주도록 하려고 한다. 도형의 종류와 크기가 주어지면 그 도형을 그리는 프로그램을 작성하라. 도형은 속을 비워 두거나 채워서 그릴 수 있다. 도형 이름과 예시는 아래 표와 같다.

rectangle```

|

|

| left triangle  | ```
#
##
###
```    | ```
#
##
# #
####
```            | ```
#
##
###
####
```           |
| right triangle | ```
  #
 ##
###
``` | ```
   #
  ##
 # #
####
```      | ```
   #
  ##
 ###
####
```     |
| diamond        | ```
 #
# #
 #
```   | ```
  # 
 # #
#   #
 # #
  #
``` | ```
  #
 ###
#####
 ###
  #
``` |

rectangle은 행과 열의 수가 임의로 주어질 수 있다. left triangle, right triangle, diamond는 행의 수와 열의 수가 항상 같다. diamond의 행과 열의 수는 항상 홀수다.

입력

첫 줄에 이어서 나올 데이터 세트의 개수 n이 주어진다. 각 데이터 세트는 도형 이름으로 시작하는 한 줄이다. 도형이 rectangle이면 이름 뒤에 행 수 r과 열 수 c가 주어진다. 그 외의 도형이면 이름 뒤에 행과 열의 수를 함께 나타내는 정수 하나가 주어진다. 줄의 끝에는 y 또는 n이 온다. y는 도형을 채운다는 뜻이고, n은 속을 비운다는 뜻이다.

출력

지정된 크기의 도형을 출력한다. 줄 끝의 문자에 따라 채우거나 비운다. 각 도형의 예시는 위 표에 있다. 데이터 세트 사이에 빈 줄을 넣지 않는다.

예제1

  1. 예제 1

    입력
    3
    rectangle 3 5 n
    right triangle 4 n
    diamond 7 y
    
    예상 출력
    #####
    #   #
    #####
       #
      ##
     # #
    ####
       #
      ###
     #####
    #######
     #####
      ###
       #