Potansiyel olarak kutulanmış bir dize verildiğinde kutuyu değiştirin. Bu test senaryolarında ve açıklamada daha açık hale gelir.
Giriş çıkış
Giriş Formatı
Giriş, CR, LF veya CRLF ile ayrılmış tek bir dize veya bir dize listesi olacaktır. Giriş formatı karar vermek size kalmış.
Çıkış biçimi
Çıktı formatı, girdi ile aynı formatta olmalıdır.
Açıklama + Örnek
Örnek olarak kutulu bir dize alalım:
+-------------+
|Hello, World!|
+-------------+
Kutuyu değiştirmek için ilk ve son satırı ve ilk ve son sütunu kaldırırız. Son satırdan sonra (son satırın sonunda isteğe bağlı bir son satırsonu ile) sondaki boşluk olmadığını ve satır sonunu saymadan herhangi bir satırda sondaki boşluk olmadığını varsayabilirsiniz.
Bu şöyle olur:
Hello, World!
Diğer yol
Dize bir kutuda değilse , ona bir kutu ekleyin. Bu oldukça basit; Başa eklenen +---...---+
kendi hattında k
çizgiler k
her bir çizgi için daha sonra en uzun hat uzunluğudur, ve uzun çizgi uzunluğuna uygun ve daha sonra başa getirebilir ve bir dikey çizgi eklemek için boşluk nokta olan ped o ( "|"
). Son +---...---+
olarak, ilk satırla aynı kurulumu içeren bir satır ekleyin .
Örneğin:
Hello, World!
dönüşür:
+-------------+
|Hello, World!|
+-------------+
Girişteki hiçbir satırın sonunda boşluk olmayacağını varsayabilirsiniz.
Etrafına bir kutu konması gereken bir dize örneği:
Hello,
World!
olur
+----------+
|Hello, |
| World!|
+----------+
Hala kutulanması gereken bir şey örneği:
+--------+
| |
--------+
dönüşür:
+----------+
|+--------+|
|| ||
| --------+|
+----------+
Kurallar + Özellikler
- Standart Loopholes Uygula
- Hiçbir giriş satırının, kutuya yerleştirilmiş olup olmadığına bakılmaksızın, hem genel hem de her satırda önde gelen veya arkadaki boşluklar olmayacaktır.
- Kutular sadece
+
köşeleri gibi|
, dikey kenarlar ve-
yatay kenarlar için olacaktır. - Bir kutunun kutu olarak kabul edilebilmesi için artıları yerinde olmalıdır; yüksekliği veya genişliği 2 varsa (yani, içerik yoksa), kutunun yüksekliğine bağlı olarak bir sürü yeni satıra neden olacak şekilde kutudan çıkarılmalıdır.
- Girişte bir kutu var ancak kutunun dışında bir metin varsa, her şey kutulu olmalıdır.
- Programınız dizenin tüm çevresini kontrol etmelidir. Dışarıdaki tek bir karakter doğru değilse (eksik veya olması gerekenden farklı bir karakter), kutulu değil kutulu olmalıdır.
- Kutusuz dizenin kendisi içerebilir
+ | -
. Kutusuz dizenin kendisinde bir kutu varsa, dizeyi kutuyla birlikte döndürün; yalnızca bir kez kutudan çıkarılmalıdır.
Kenar Kılıfları
1: Küçük kutular
Giriş:
++
++
Çıktı boş veya satırsonu
Giriş:
+----+
+----+
Çıktı boş veya yeni satır
Giriş:
++
||
||
++
Çıktı 2 satır veya 3 satır
2: Kısmi Kutu
Giriş:
+-------+
| Hello |
+ ------+
Çıktı:
+---------+
|+-------+|
|| Hello ||
|+ ------+|
+---------+
3: Kutunun dışındaki metinler
Giriş:
+-------+
a| Hello |
+-------+
Çıktı:
+----------+
| +-------+|
|a| Hello ||
| +-------+|
+----------+