Tantangan
Diberi bentuk seni ASCII, Anda harus mencari tahu apakah bentuknya segi enam biasa atau tidak.
Segi enam
Hexagon reguler didefinisikan menggunakan dua aturan:
- Ia memiliki enam sisi
- Setiap sisi memiliki jumlah karakter yang sama
Misalnya, bentuk berikut ini teratur tetapi tidak memiliki enam sisi sehingga bukan segi enam biasa :
B a a h
s a i d
y o u r
g a o t
Demikian pula, bentuk berikut memiliki enam sisi tetapi memiliki sisi dengan panjang yang berbeda dan karenanya bukan segi enam biasa :
* *
* * *
* * * *
* * *
* *
Namun, bentuk berikut memiliki enam sisi dan semua sisi memiliki jumlah karakter yang sama, jadi itu adalah segi enam biasa:
T h e
h e x a
g o n s a
r e c o
m i n
Aturan
Output harus berupa nilai true atau falsey (benar jika bentuknya segi enam biasa, falsey jika tidak).
Bentuk hanya akan berisi karakter ASCII yang dapat dicetak.
Batas bentuk tidak akan pernah mengandung spasi. Jika ya, Anda dapat mengembalikan falsey.
Mungkin ada jumlah spasi kosong sebelum dan / atau setelah bentuk.
Semua sudut dalam bentuk mungkin tidak sama misalnya, bentuk berikut adalah input yang valid:
. . .
. . .
. . . . .
. . . .
. . .
Ini akan mengembalikan nilai falsey.
Semua input bentuk akan berada di kisi yang dipisahkan ruang. Input heksagonal akan berada pada grid yang terhuyung-huyung (setiap baris diimbangi dari yang berikutnya).
Contohnya
Sejujurnya
Bentuk berikut harus mengembalikan nilai kebenaran:
# _
+ + +
9 :
5 6 7
8 9 0 1
2 3 4 5 6
7 8 9 0
1 2 3
t h i s
i s
a h
e x
a g
o n
! ! ! !
5 6 7
8 9 0 1
2 3 4 5 6
7 8 9 0
1 2 3
Falsey
Yang berikut harus mengembalikan nilai falsey
r e c t a
n g l e s
h e l l o
w o r l d s
t h i s i s b
e t a d e c
a y n o w
*
* *
* * *
.....
.......
.........
.......
.....
Bentuk ini bukan pada grid yang dipisahkan ruang dan tidak terhuyung.
* * * *
---------
* * * * * *
-------------
* * * * * *
---------
* * * *
5 6 7
8 9 0 1
2 3 4 5 6
7 8 9 0
1 2 3
Untuk input karakter tunggal, program Anda dapat menampilkan benar atau salah:
&
Kemenangan
Program terpendek dalam byte menang.
5 6 7\n8 9 0 1\n2 3 4 5 6\n7 8 9 0\n1 2 3
dan satu dengan spasi tambahan di salah satu baris: ss5 6 7\nss8 9 0 1\n2 3 4 5 6\ns7 8 9 0\nss1 2 3
(spasi terdepan diganti dengan s
untuk membuatnya sedikit lebih jelas dalam bentuk yang tidak diformat ini) . Semua 10 kasus pengujian Anda divalidasi dengan benar dengan kode saya saat ini, tetapi dua kasus ini akan gagal dengan pendekatan yang saya gunakan.