Tanıtımları
2 × n Boole matrisi, dört karakterden oluşan bir dize olarak gösterilebilir . ':
. Dize bir "üst sıraya" ve "alt sıraya" sahiptir, 1'leri temsil eden noktalar ve 0'ları temsil eden boş alanlar. Örneğin, 2 × 6 matris
1 0 1 0 0 1
0 0 0 1 0 1
olarak temsil edilebilir ' '. :
. Göreviniz bu "sıkıştırılmış formda" bir matris almak ve girişlerini bir taşıma bandı gibi bir adım saat yönünde döndürmektir.
Giriş
Girişiniz, karakterlerin üzerinde tek bir dizedir . ':
. Uzunluğunun en az 2 olması garanti edilir.
Çıktı
Çıktınız giriş dizgisi olacaktır, ancak her nokta saat yönünde bir adım döndürülmüş şekilde. Daha açık bir şekilde, üst sıradaki noktalar, aşağı doğru hareket eden en sağdaki hariç, sağa bir yerde daha fazla yer açar. Alt sıradaki noktalar, yukarı hareket eden en soldaki hariç, bir adım sola hareket eder. Özel olarak, çıktı dizgisi orijinal ile aynı uzunluğa sahip olmalı ve boşluk önemlidir.
Örnek
:..:'.
2 × 6 matrisine karşılık gelen giriş dizesini düşünün.
1 0 0 1 1 0
1 1 1 1 0 1
Bu matrisin döndürülmüş versiyonu
1 1 0 0 1 1
1 1 1 0 1 0
hangi dize karşılık gelir ::. :'
.
Kurallar ve puanlama
Tam bir program veya bir fonksiyon yazabilirsiniz. En düşük bayt sayısı kazanır ve standart boşluklar izin verilmez. Girdi ve çıkışın tırnak işaretleri arasında olup olmadığına karar verebilirsiniz ve sondaki bir satırsonu da her ikisinde de kabul edilebilir.
Test durumları
Bu test durumları çift tırnak içine alınır.
" " -> " "
" ." -> ". "
". " -> "' "
"' " -> " '"
" '" -> " ."
": " -> "''"
"''" -> " :"
":." -> ":'"
":.'" -> ":'."
"..." -> ":. "
": :" -> "':."
"':." -> ".:'"
".:'" -> ": :"
" " -> " "
"::::" -> "::::"
":..:'." -> "::. :'"
" : .:'" -> ". '.. :"
": ''. :" -> "'' :'.."
"........" -> ":...... "
":::: " -> ":::'' "
" ::::" -> " ..:::"
" : : : : " -> ". : : : '"
".'.'.'.'.'" -> "'.'.'.'.'."
".. :: '.' :." -> ": ..'' .' :.'"
".' '.:: :.'. . ::.' '. . .::' :.'." -> "' ' .:.''..'.'. ..:' ' .'. ...'''..'.'"
s=>s.replace(/./g,(c,i)=>" '.:"[(i?q>' '&q!=".":c>"'")+(q=c,s[++i]?s[i]>"'":c>' '&c!=".")*2])
tasarruf edin : (2 parçayı çevirin böylece ı, daha az regexp ve daha basit bir test, daha düşük q c) kaydedin