Anda telah dipilih untuk membuat program yang membuat beberapa diagram batang ASCII yang cantik . Berikut format inputnya:
[List of words (they can have spaces)] [an integer >= 0]
Bar 3
This is so cool 4
IDK-Why 6
Input akan memiliki beberapa baris dalam format ini, masing-masing mewakili satu baris dalam grafik. Format output grafik akan seperti ini:
_ _ _ _
|_|_|_|_|
| | | |
| | | + [name of 4th bar]
| | + [name of 3rd bar]
| + [name of 2nd bar]
+ [name of 1st bar]
Berikut ini beberapa contohnya:
In:
Cool 4
Kool 6
Out:
_
| |
_| |
| | |
| | |
| | |
|_|_|
| |
| + Kool
+ Cool
In:
Graph 5
Bar 3
Out:
_
| |
| |_
| | |
| | |
|_|_|
| |
| + Bar
+ Graph
In:
Very 4
Large 5
Bar 3
Graph 5
Out:
_ _
_| | | |
| | |_| |
| | | | |
| | | | |
|_|_|_|_|
| | | |
| | | + Graph
| | + Bar
| + Large
+ Very
In:
Bars can be 0 0
Large-bars_are$nice2 6
average)(@#$ 3
neato 5
Out:
_
| | _
| | | |
| |_| |
| | | |
| | | |
_|_|_|_|
| | | |
| | | + neato
| | + average)(@#$
| + Large-bars_are$nice2
+ Bars can be 0
Fungsi atau program lengkap diizinkan.
Jawaban:
sh + awk + tac, 173
Sebagian besar
awk
skrip yang mencetak grafik bagian bawah ke atas yang kemudian dibalik olehtac
.Deskripsi
awk, bagian pertama, dieksekusi untuk setiap jalur input
Keluaran
awk, bagian kedua, dieksekusi sekali pada akhirnya
ungolfed:
Keluaran
tac membalikkan garis
sumber
JavaScript (ES6), 270
262 270 287Perbaikan bug menambahkan baris yang hilang dari '|' di bawah jeruji
Uji Tes di Firefox, karena Chrome tidak mendukung penugasan ES6 Destrukturisasi
sumber
i.match(/.+ |./g)
. Mungkin itu bisa berguna?destructuring assignment
: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… . Coba peramban yang lebih baik seperti Firefox421 byte - Python 2
Tes
sumber
a 0 b 3
) dan bar menurun (misalnyaa 5 b 3 c 0
). Versi Python saya adalah Python 2.7.10.Java, 613 untuk fungsi pencetakan
Dimungkinkan untuk menyimpan beberapa byte dengan transformasi "biasa"
for(i=0;i<n;i++)
menjadifor(;i++<n;)
, menyederhanakan persyaratan ternary, atau dengan perhitungan "label" dan "ketinggian" yang lebih elegan, tetapi ini merupakan permulaan.sumber
Haskell, 323 byte
Contoh penggunaan:
Cara kerjanya (gambaran umum, detail mungkin nanti):
Bagian parsing (
(p,q)<-unlines...
) membutuhkan banyak byte, mungkin saya bisa golf lebih jauh ke bawah.sumber
Python 2, 345 byte
sumber