만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

히스토그램

면접 대비

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

요약
각 구간의 크기와 개수, 데이터 점들이 주어질 때 구간별 개수를 세어 - 바닥 위에 # 막대를 올린 히스토그램을 출력한다.
난이도

쉬움10점 중 3점

유형
배열, 구현, 시뮬레이션, 수학
정답자
아직 제출이 없습니다

문제

"히스토그램"이라는 용어는 1895년 칼 피어슨이 처음 도입했다. 이 해는 휴대용 전동 드릴이 발명된 해이기도 하다. 오늘날 우리가 "데이터 드릴링"을 말하는 것이 우연은 아닐지도 모른다. 하지만 당시에는 대부분의 것이 전동이 아니었고, 히스토그램도 여전히 손으로 만들었다. 요즘 우리는 전동식이고 자동화된 것을 좋아한다. Bureaucratic Affiliation for Printing Charts는 많은 데이터 점에 대해 많은 히스토그램을 만들어야 해서, 히스토그램 인쇄를 자동화할 수 있도록 당신에게 도움을 청했다.

데이터 점의 목록이 주어지면 히스토그램을 출력하라.

입력

입력은 다음과 같다.

  • 한 줄에 세 정수 nn, ss, kk (1≤n,s,k≤10001 \leq n, s, k \leq 1000)가 주어진다. 각각 구간의 수, 구간의 크기, 데이터 점의 수다.
  • 한 줄에 kk개의 정수 데이터 점 xx (1≤x≤n⋅s1 \leq x \leq n \cdot s)가 주어진다.

출력

히스토그램을 출력한다. 즉, 문자로 이루어진 직사각형을 쓴다. 직사각형의 너비는 구간의 수와 같아야 한다. 직사각형의 각 열은 다음과 같아야 한다.

  • 맨 아래에 "-"를 하나 둔다.
  • 그 위에, 그 구간에 들어 있는 원소의 수만큼 "#"를 둔다.
  • 그 위에, 직사각형을 채우는 데 필요한 만큼 "."를 둔다.

직사각형의 높이는 모든 구간에서 각 원소에 대해 "#"를 표시하기에 딱 맞아야 하며, 그보다 높아서는 안 된다.

예제3

  1. 예제 1

    입력
    3 1 6
    1 2 3 2 1 2
    
    예상 출력
    .#.
    ##.
    ###
    ---
    
  2. 예제 2

    입력
    3 10 5
    1 9 11 29 24
    
    예상 출력
    #.#
    ###
    ---
    
  3. 예제 3

    입력
    6 10 5
    19 20 21 42 42
    
    예상 출력
    .#..#.
    .##.#.
    ------