Giriş:
Gökkuşağı ile ilgili iki zorluk yayınladıktan sonra: Codegolf Rainbow: Integer-Arrays 1 ve Codegolf Rainbow ile Eğlence : Siyah-Beyaz 2'de çiz , aşağıdaki yorum ASCII'de @ChrisM tarafından yapıldı ( Siyah- Beyaz'da çiz ) meydan okuma :
Belki bunu biliyorsunuz ve tasarım gereği (gökkuşağıların eşkenar dörtgenler veya ascii olmadığını ve daha yüksek siparişlerin pozisyonlarının daha karmaşık hale geldiğini biliyorum), ancak 2. gökkuşağında renkler tersine çevrilmemiş mi?
Ve gerçekten haklı. Çift gökkuşağı gördüğünüzde, ikincisi aslında birincinin yansımasıdır, bu yüzden renkler tersine çevrilir. Üç gökkuşağı ile, gerçek bir çift gökkuşağı, üçüncüsü diğer ikisinden birinin yansımasıdır. Ve dört ile, iki gökkuşağı ve bunların iki yansıması var.
Şimdi bu gerçeği kullanarak üçüncü bir sorunla karşılaşalım.
Meydan okuma:
Girişler: Pozitif bir tam sayı n
olduğu >=2
ve büyüklükte sayının bir liste >= n+1
.
Çıktı: Aynı liste aşağıdaki gibi sıralanmıştır:
- İlk olarak giriş listelerini boyut alt listelerine bölün
n
(arkadaki alt listenin aralıktaki herhangi bir boyutta olabileceği yerlerde[1,n]
). - Ardından, alt liste miktarına göre aşağıdakileri yaparız
m
:- İlk
m - m//2
alt liste miktarını en yüksekten en düşüğe doğru sıralayın (//
tamsayı-bölün). (Yani 6 alt liste ile ilk üç en düşükten en yükseğe doğru sıralanır; 5 alt liste ile ilk üç en düşükten en yükseğe doğru sıralanır.) m//2
Alt listelerin son miktarını en yüksekten en düşüğe doğru sıralayın (//
tamsayı-bölün). (Yani 6 alt listeyle son üç en yüksekten en düşüğe doğru sıralanır; 5 alt listeyle son iki en yüksekten en düşüğe doğru sıralanır.)
- İlk
- Tek bir liste oluşturmak için tüm alt listeleri bir araya getirin
Örnekler:
Girişler: n=7
ve [3,2,1,-4,5,6,17,2,0,3,5,4,66,-7,7,6,-5,2,10]
Adım 1: [[3,2,1,-4,5,6,17],[2,0,3,5,4,66,-7],[7,6,-5,2,10]]
Adım 2: [[-4,1,2,3,5,6,17],[-7,0,2,3,4,5,66],[10,7,6,2,-5]]
Adım 3 / Çıkış:[-4,1,2,3,5,6,17,-7,0,2,3,4,5,66,10,7,6,2,-5]
Girişler: n=4
ve [7,4,-8,9,3,19,0,-23,-13,13]
Adım 1: [[7,4,-8,9],[3,19,0,-23],[-13,13]]
Adım 2: [[-8,4,7,9],[-23,0,3,19],[13,-13]]
Adım 3 / Çıkış:[-8,4,7,9,-23,0,3,19,13,-13]
Zorluk kuralları:
- Tamsayı girişinin 1'den
n
büyük olması garanti edilir. - Tamsayı listesinin boyutunun büyük olması garanti edilir
n
. - Sondaki alt listeden daha küçük olabilir
n
(örneklerde ve test senaryolarında görüldüğü gibi). - G / Ç formatı makul herhangi bir formatta esnektir. Tamsayılar veya ondalık sayılar listesi, virgül / boşluk / satırsonu ile ayrılmış bir dize, tamsayılar akışı, vb. Olabilir. (Çıktı, 2. adım gibi listelerin 2B bir listesi olmayabilir. bu meydan okuma için gereklidir.)
Genel kurallar:
- Bu kod golf, bayt cinsinden çok kısa cevap kazanır.
Kod golf dillerinin, kod yazmayan dillerle yanıt göndermenizi engellemesine izin vermeyin. 'Herhangi bir' programlama dili için olabildiğince kısa bir cevap bulmaya çalışın. - Cevabınız için standart kurallar geçerlidir , bu nedenle STDIN / STDOUT, fonksiyon / yöntemi uygun parametreler ve dönüş tipi, tam programlar ile kullanmanıza izin verilir. Çağrınız.
- Varsayılan Loopholes yasaktır.
- Mümkünse, lütfen kodunuz için test içeren bir bağlantı ekleyin.
- Ayrıca, cevabınız için bir açıklama eklemeniz şiddetle tavsiye edilir.
Test senaryoları:
Inputs: n=7 and [3,2,1,-4,5,6,17,2,0,3,5,4,66,-7,7,6,-5,2,10]
Output: [-4,1,2,3,5,6,17,-7,0,2,3,4,5,66,10,7,6,2,-5]
Inputs: n=4 and [7,4,-8,9,3,19,0,-23,-13,13]
Output: [-8,4,7,9,-23,0,3,19,13,-13]
Inputs: n=2 and [7,-3,1]
Output: [-3,7,1]
Inputs: n=3 and [1,6,99,4,2]
Output: [1,6,99,4,2]
Inputs: n=2 and [5,2,9,3,-5,-5,11,-5,4,12,9,-2,0,4,1,10,11]
Output: [2,5,3,9,-5,-5,-5,11,4,12,9,-2,4,0,10,1,11]
Inputs: n=3 and [5,2,9,3,-5,-5,11,-5,4,12,9,-2,0,4,1,10,11]
Output: [2,5,9,-5,-5,3,-5,4,11,12,9,-2,4,1,0,11,10]