2026.04.09 목

권순찬·2026년 4월 9일

천천히 꾸준히

목록 보기
36/50

오늘의 문제!

Histogram_23371

import java.io.*;
import java.util.StringTokenizer;

public class Histogram_23371 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int n = Integer.parseInt(st.nextToken());
        int s = Integer.parseInt(st.nextToken());
        int k = Integer.parseInt(st.nextToken());
        int[] arr = new int[n];

        st = new StringTokenizer(br.readLine());
        for (int i = 0; i < k; i++) {
            int a = Integer.parseInt(st.nextToken());
            arr[(a - 1) / s]++;
        }
        int maxH = 0;
        for (int i = 0; i < n; i++) {
            if (arr[i] > maxH) {
                maxH = arr[i];
            }
        }

        for (int i = maxH; i >= 1; i--) {
            for (int j = 0; j < n; j++) {
                if (arr[j] >= i) {
                    bw.write("#");
                } else {
                    bw.write(".");
                }
            }
            maxH--;
            bw.write("\n");
        }
        for (int i = 0; i < n; i++) {
            bw.write("-");
        }
        bw.flush();
        bw.close();
    }
}

bin size가 살~짝 발목을 잡긴 했지만, (a-1)/s로 해결했다.
그러고는 위에서부터 최대길이에서 차근차근 내려가면서 출력하면 끝!

profile
아직 많이 서툰 개발자

0개의 댓글