Göreviniz girdi (işlev veya programda) olarak bir dizi karakter (müzik) almak ve müziği bir müzik kutusunda göründüğü gibi yazdırmak (veya geri vermek).
Karakterleri yalnızca ABCDEFG.()
giriş olarak alacaksınız ve giriş asla boş bırakılmayacak. İsterseniz harfleri küçük harf olarak da alabilirsiniz.
Bu, uzunluğu 3 olan boş bir müzik kutusudur:
.......
.......
.......
Gördüğünüz gibi, satırlar 7 karakter uzunluğunda ve müzik kutusunun uzunluğu 3 olduğundan 3 satırımız var. Burada sadece .
s var, çünkü müzik kutusu boş. Biraz müzik koyalım!
İlk önce, müzik kutusunu yarattık. Bu örnekte, giriş olacaktır CDAG.DAG
.
Uzunluğu CDAG.DAG
8, bu yüzden 8 uzunluğunda bir müzik kutusuna ihtiyacımız var:
.......
.......
.......
.......
.......
.......
.......
.......
Ardından girişi, her seferinde bir karakter okur O
ve ilgili konumuna yerleştiririz.
İlk karakter C
ve her notun yeri buna eşdeğerdir (netlik için boşluk ekledim):
A B C D E F G
. . . . . . .
. . . . . . .
(and so on)
Girilen karakter a ise .
boş satır yazdırırız........
Böylece, C
birlikte 3. karakter olacaktır. En üstteki müzik kutumuza koyalım:
..O....
.......
.......
.......
.......
.......
.......
.......
Bu işlemi diğer tüm karakterler için tekrarlayacağız (parantez içindeki metin sadece notu göstermek içindir, çıktısını almamalısınız):
..O.... (C)
...O... (D)
O...... (A)
......O (G)
....... (.)
...O... (D)
O...... (A)
......O (G)
Biz başka bir karakter kullanırsanız müzik kutuları eser, nasıl Çünkü O
, .
ve <insert newline here>
böyle bir mekan olarak, bizim çıktıda, o zaman doğru müzik çalmıyor!
Bu bir akor:
(ACE)
Bu akor notaları çalmak için bize talimat olduğunu A
, C
ve E
aynı zamanda. .
Bir akorda hiç duraklama olmaz (yani a ).
Bu nasıl yazılır:
O.O.O...
Ve bu müzikte nasıl göründüğü: B(ACE)D
Bir akorda asla bir akor almayacaksınız, yani bu geçerli olmayacak: (AB(CD)EF)
ya da bu: A(B())
ve akor boş olmayacak, yani bu geçerli olmayacak:A()B
Asla geçersiz bir girdi almayacaksınız.
Örnekler:
B(ACE)D
.O.....
O.O.O..
...O...
B
.O.....
GGABC
......O
......O
O......
.O.....
..O....
...
.......
.......
.......
A..F.C(DA).
O......
.......
.......
.....O.
.......
..O....
O..O...
.......
.(ABCDEF)
.......
OOOOOO.
Çıktıdaki izler / ana boşluklara izin verilir.
Bu kod golf olduğu için en kısa kod kazanır!
()
iki kez içerebilir (örneğinAB(CD)E(FG)
:) ??