Bir sayı listesini (vektör, dizi ...) bir programdan diğerine kopyalayıp yapıştırmak istediğinizde bundan nefret etmeyin, ancak sayılara sahip olduğunuz format, ihtiyacınız olan formatla eşleşmiyor ?
Örneğin, MATLAB'da boşlukla ayrılmış bir listeniz olabilir:
[1 2 3 4 5] (you can also have it comma separated, but that's not the point)
Python'da, bu listeyi geçerli bir giriş yapmak için virgül eklemeniz gerekir, bu nedenle bu listeyi
[1, 2, 3, 4, 5]
çalışması için. C ++ 'da aşağıdakine benzer bir şey isteyebilirsiniz:
{16,2,77,29}
ve bunun gibi.
Herkesin hayatını kolaylaştırmak için, herhangi bir formatta * yer alan ve belirtilen başka bir formatta bir liste çıkaran bir liste dönüştürücü oluşturalım.
Geçerli parantezler:
[list]
{list}
(list)
<list>
list (no surrounding brackets)
Geçerli sınırlayıcılar:
a,b,c
a;b;c
a b c
a, b, c <-- Several spaces. Must only be supported as input.
a; b; c <-- Several spaces. Must only be supported as input.
a b c <-- Several spaces. Must only be supported as input.
Girişte, sayılar arasında herhangi bir sayıda boşluk olabilir, ancak çıkışın sıfır boşluk ( sınırlayıcı olarak kullanılıyorsa ,
veya ;
kullanılıyorsa) veya tek boşluk (boşlukla sınırlandırılmışsa) olmasını seçebilirsiniz .
Giriş listesine ek olarak, çıktı biçimini tanımlayan bir dize (veya iki karakter) olacaktır. Biçim dizesi ilk açılış braket tipi olacaktır (sadece), [
, (
, <
, {
veya (sonuncusu hiçbir çevreleyen braket olduğunda kullanılan tek alandır). Dirsek tipi ayırıcı tipi ile takip edilecek
,
, ;
ya da (son bir tek boşluk). İki giriş formatı karakteri yukarıda açıklanan sırayla tek bir bağımsız değişken (dize veya art arda iki karakter) olarak alınmalıdır.
Biçim dizelerine bazı örnekler:
[, <-- Output format: [a,b,c]
{; <-- Output format: {a;b;c}
<-- Two spaces, output list has format: a b c
Kurallar:
- Çıktının önde gelen boşlukları olamaz
- Çıktının sonunda boşluklar ve yeni satır olabilir
- Çıktı sadece sayı listesi olmalı , değil
ans =
veya benzeri olmalıdır
- Çıktı sadece sayı listesi olmalı , değil
- Giriş, tamsayı veya ondalık sayıların (hem pozitif hem de negatif (ve sıfır)) bir listesi ve iki karakterden oluşan bir dize olacaktır
- Giriş yalnızca tamsayılardan oluşuyorsa , çıktı listesinde yalnızca tamsayılar olmalıdır. Giriş listesi tamsayılardan ve ondalık sayılardan oluşuyorsa, tüm çıkış numaraları ondalık sayılar olabilir. (Tamsayıları tamsayı olarak tutmak isteğe bağlıdır)
- Desteklenmesi gereken ondalık noktadan sonraki maksimum basamak sayısı 3'tür.
- Girdi iki bağımsız değişken olacaktır. Yani sayılar bir bağımsız değişkendir ve biçim dizesi tek bir bağımsız değişkendir.
- Kod bir program veya işlev olabilir
- Giriş işlev bağımsız değişkeni veya STDIN olabilir
Bazı örnekler:
1 2 3 4
[,
[1,2,3,4]
<1; 2; 3>
; <-- Space + semicolon
1;2;3
not valid: 1.000;2.000;3.000 (Input is only integers => Output must be integers)
{-1.3, 3.4, 4, 5.55555555}
[,
[-1.300,3.400,4.000,5.556] (5.555 is also valid. Rounding is optional)
also valid: [-1.3,3.4,4,5.55555555]
Bayttaki en kısa kod kazanır. Her zaman olduğu gibi, kazanan, mücadelenin yayınlandığı günden bir hafta sonra seçilecektir. Daha sonra gönderilen cevaplar mevcut kazanandan daha kısasa yine de kazanabilir.
Liderler Sıralaması
Bu yazının altındaki Yığın Parçacığı, a) her dil için en kısa çözüm listesi ve b) genel bir lider panosu olarak cevaplardan katalog oluşturur.
Yanıtınızın göründüğünden emin olmak için lütfen aşağıdaki Markdown şablonunu kullanarak yanıtınızı bir başlıkla başlatın:
## Language Name, N bytes
N
gönderiminizin büyüklüğü nerede . Puanınızı artırmak varsa, olabilir onları içinden vurarak, başlığa eski hesapları tutmak. Örneğin:
## Ruby, <s>104</s> <s>101</s> 96 bytes
Başlığınıza birden fazla sayı eklemek istiyorsanız (örneğin, puanınız iki dosyanın toplamı olduğu veya yorumlayıcı bayrak cezalarını ayrı olarak listelemek istediğiniz için), gerçek puanın başlıktaki son sayı olduğundan emin olun :
## Perl, 43 + 2 (-p flag) = 45 bytes
Dil adını snippet'te görünecek bir bağlantı da yapabilirsiniz:
## [><>](http://esolangs.org/wiki/Fish), 121 bytes
_
negatif elementleri belirtmek için kullanır . :(