Tujuan : Menulis sebuah program yang menghasilkan lanskap dan langit-langit ASCII-art yang indah (?)!
Program Anda hanya memiliki satu input: string yang terdiri dari kombinasi / pengulangan karakter apa pun 0123456789abc
.
Untuk setiap karakter input, hasilkan garis vertikal yang disusun sebagai berikut:
.
..
...
oooo
ooooo
OOOOOO
OOOOOOO
XXXXXXXX
XXXXXXXXX
XXXXXXXXXX
0123456789
abc
Sebaliknya, huruf diikuti oleh satu angka n, dan menggambar garis vertikal n dengan masing-masing 1,2 atau 3 lubang (spasi) di bagian bawah.
Contohnya
Gedung Crysler
Input: 2479742
.
.
...
ooo
ooo
OOOOO
OOOOO
XXXXXXX
XXXXXXX
XXXXXXX
Taj Mahal
Input: 0804023324554233204080
. .
. .
o o
o oo o
O O OOOO O O
O O OO OOOO OO O O
X X XXXXXXXXXXXX X X
X X XXXXXXXXXXXX X X
XXXXXXXXXXXXXXXXXXXXXX
Menara Eiffel
Input: 011a2b3b5c9c9b5b3a2110
..
..
..
oo
oooo
OOOO
OOOOOO
XXX XXX
XXX XXX
XXX XXX
Anda dapat mengasumsikan input tidak kosong dan inputnya baik.
Bahasa apa pun diterima, dari A + hingga Z ++ .
Ini adalah kode-golf: kode sumber terpendek menang .
Jika ada sesuatu dalam aturan yang tidak jelas, jangan ragu untuk bertanya di bawah ini di komentar.
Bersenang-senang, dan dapatkan struktur tinggi seratus meter dalam beberapa byte!
(dan jangan lupa untuk memasukkan bangunan favorit Anda dalam solusi Anda)
PS: tidak, Anda tidak dapat mengunduh / mengakses data dari Internet, menggunakan nama file Anda sebagai data dan semua itu. Adil, dan gunakan hanya keterampilan kode-golf Anda.
Jawaban:
GolfScript, 69
Tidak jauh dari solusi APL.
Tes online
sumber
Rubi,
8885Tantangan yang menyenangkan!
Mengambil input pada commandline, misalnya:
Akan dicetak:
sumber
Python 2.7 - 186
Mungkin bisa lebih pendek ...
Contoh dijalankan:
Jembatan Pelabuhan Sydney
Jembatan Golden gate / logo Cisco
Ngomong-ngomong, pertanyaan bagus!
sumber
C64 BASIC, 276 karakter PETSCII
Solusi saya sendiri, bermain golf hingga 276 karakter dan 10 baris BASIC V2.0!
(salin dan tempel dalam emulator untuk melihat hasilnya).
Dan akhirnya, monumen favorit saya, Jembatan Brooklyn :)
sumber
C,
130126 karakterAgak lama dibandingkan dengan kompetisi, tapi saya menyalahkan bahasa ...
Saya tidak tahu tentang bangunan favorit , tetapi salah satu yang lebih dikenal di sekitar sini adalah Globen , jadi ini adalah terjemahan yang buruk.
sumber
char b[99],*p;
terbacachar*p,b[99];
. Juga mungkin lebih pendek untuk digunakanputs
untuk mencetak baris baru.APL (
6966)Contoh:
sumber
PowerShell , 127 byte
Cobalah online!
sumber
Kanvas ,
3533 byteCoba di sini!
sumber
PHP ,
131114 byteCobalah online!
sumber
Perl 6 , 93 byte
Blok yang mengambil string dan mencetak ke stdout.
Cobalah online!
sumber
05AB1E (warisan) , 34 byte
Menggunakan versi lawas 05AB1E untuk menghemat 2 byte, karena
ζ
juga berfungsi pada string, bukan hanya daftar karakter.Cobalah online.
Penjelasan:
Adapun 'bangunan' favorit saya, mari kita pergi dengan pohon ini. ;)
sumber
Japt
-R
, 36 byteCobalah
sumber