ที่เกี่ยวข้อง: ความท้าทายค่อนข้างคล้ายกัน (แต่ง่ายกว่ามาก) ในแนวนอน: ที่นั่นฉันซ่อมมัน (ด้วยเทป)
ท้าทาย:
กำหนดสตริงที่มีตัวอักษรพิมพ์ใหญ่และ / หรือตัวพิมพ์เล็ก (แล้วแต่จำนวนใดก็ได้ที่คุณต้องการ) และขึ้นบรรทัดใหม่ใส่ในrope
แนวตั้งเพื่อแก้ไข เราทำสิ่งนี้โดยการตรวจสอบความแตกต่างของตัวอักษรสองตัวที่อยู่ติดกันในตัวอักษร (ละเว้นการล้อมรอบและลงไปด้านล่างเท่านั้น) และเติมเต็มพื้นที่ROPE
/ มากเท่าrope
ที่เราต้องการ
หมายเหตุ: ความแตกต่างที่สำคัญอีกข้อหนึ่งระหว่างการท้าทายนี้และการท้าทายที่นั่นฉันแก้ไข (ด้วยเทป)คือเราไม่ต้องเสียrope
เวลาเช่นนี้กับที่เราทำกับtape
(แนะนำโดย@JonathanAllanในส่วนหนึ่งของการท้าทาย)
ตัวอย่าง:
การป้อนข้อมูล:
abc
bcd
ddd
eex
gfz
hka
imh
เอาท์พุท:
abc
bcd
Rdd
deE
efR
OPO
gEP
hRE
iOR
kO
PP
mE
R
O
P
E
R
O
P
E
R
O
x
P
z
a
E
R
O
P
E
R
h
ทำไม?
- ระหว่าง
b
และd
ในคอลัมน์ 1 ควรจะเป็นc
(ความยาว 1) เพื่อให้เรากรอกข้อมูลนี้กับR
; - ระหว่าง
e
และg
ในคอลัมน์ 1 ควรจะเป็นf
(ความยาว 1) เพื่อให้เรากรอกข้อมูลนี้กับO
; - ระหว่าง
f
และk
ในคอลัมน์ 2 ควรเป็นghij
(ความยาว 4) ดังนั้นเราจึงเติมด้วยPERO
; - ระหว่าง
k
และm
ในคอลัมน์ 2 ควรเป็นl
(ความยาว 1) ดังนั้นเราจึงเติมด้วยP
; - ระหว่าง
d
และc
ในคอลัมน์ 3 ควรเป็นefghijklmnopqrstuvw
(ความยาว 19) ดังนั้นเราจึงเติมด้วยEROPEROPEROPEROPERO
; - ระหว่าง
x
และz
ในคอลัมน์ 3 ควรเป็นy
(ความยาว 1) ดังนั้นเราจึงเติมด้วยP
; - ระหว่าง
a
และh
ในคอลัมน์ 3 ควรจะเป็นbcdefg
(ความยาว 6)EROPER
เพื่อให้เรากรอกข้อมูลนี้กับ
กฏท้าทาย:
- ความแตกต่างใช้ลงด้านล่างเท่านั้นดังนั้นจึงไม่มีเชือกคั่นระหว่าง
za
(คอลัมน์ 3 ในตัวอย่างด้านบน) - เป็นไปได้ที่จะมีตัวอักษรที่อยู่ติดกันหลายตัวเช่น
dd
(คอลัมน์ 3 ในตัวอย่างด้านบน) - คุณจะใช้
ROPE
คอลัมน์ต่อครั้งเพื่อไม่ให้เสียชิ้นส่วน (แนะนำโดย@JonathanAllanในส่วนที่ 1 ของการท้าทาย) - คุณได้รับอนุญาตให้ป้อนข้อมูลในรูปแบบที่เหมาะสม สามารถเป็นสตริงเดี่ยวสตริงอาร์เรย์ / รายการอักขระเมทริกซ์ ฯลฯ เอาต์พุตมีความยืดหยุ่นเหมือนกัน
- คุณได้รับอนุญาตให้ใช้ตัวพิมพ์เล็กและ / หรือพิมพ์ใหญ่ในแบบที่คุณต้องการ
ROPE
นี้ใช้ได้ทั้งการป้อนข้อมูลส่งออกและ - ช่องว่างต่อท้ายเป็นตัวเลือก (โปรดทราบว่าจำนวนที่ถูกต้องของช่องว่างนำมีผลบังคับใช้ดังนั้นคอลัมน์ถูกต้อง)
จำนวนของการติดตามและ / หรือการขึ้นบรรทัดใหม่ใด ๆ ก็เป็นทางเลือกเช่นกัน - คุณสามารถสมมติว่ากรณีทดสอบทั้งหมดจะมีความยาวเท่ากันในทุกแถวดังนั้น
a\naa
/[[a][a,a]]
จะไม่ใช่อินพุตที่ถูกต้อง - เป็นไปได้ที่ไม่
ROPE
จำเป็นในกรณีนี้อินพุตยังคงไม่เปลี่ยนแปลง
กฎทั่วไป:
- นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
อย่าปล่อยให้ภาษารหัสกอล์ฟกีดกันคุณจากการโพสต์คำตอบด้วยภาษาที่ไม่ได้เข้ารหัส พยายามหาคำตอบสั้น ๆ ที่เป็นไปได้สำหรับภาษาโปรแกรม 'ใด ๆ ' - กฎมาตรฐานจะใช้สำหรับคำตอบของคุณดังนั้นคุณจึงได้รับอนุญาตให้ใช้ STDIN / STDOUT ฟังก์ชัน / เมธอดพร้อมพารามิเตอร์ที่เหมาะสมและชนิดผลตอบแทนโปรแกรมเต็มรูปแบบ การโทรของคุณ
- ช่องโหว่เริ่มต้นเป็นสิ่งต้องห้าม
- หากเป็นไปได้โปรดเพิ่มลิงค์พร้อมทดสอบรหัสของคุณ
- นอกจากนี้โปรดเพิ่มคำอธิบายหากจำเป็น
กรณีทดสอบ:
As string:
Input: "abc\nbcd\nddd\neex\ngfz\nhka\nimh"
Output: "abc\nbcd\nRdd\ndeE\nefR\nOPO\ngEP\nhRE\niOR\n kO\n PP\n mE\n R\n O\n P\n E\n R\n O\n P\n E\n R\n O\n x\n P\n z\n a\n E\n R\n O\n P\n E\n R\n h"
As array-matrix:
Input: [[a,b,c],[b,c,d],[d,d,d],[e,e,x],[g,f,z],[h,k,a],[i,m,h]]
Output: [[a,b,c],[b,c,d],[R,d,d],[d,e,E],[e,f,R],[O,P,O],[g,E,P],[h,R,E],[i,O,R],[ ,k,O],[ ,P,P],[ ,m,E],[ , ,R],[ , ,O],[ , ,P],[ , ,E],[ , ,R],[ , ,O],[ , ,P],[ , ,E],[ , ,R],[ , ,O],[ , ,x],[ , ,P],[ , ,z],[ , ,a],[ , ,E],[ , ,R],[ , ,O],[ , ,P],[ , ,E],[ , ,R],[ , ,h]]
As string:
Input: "a\nz\na"
Output: "a\nR\nO\nP\nE\nR\nO\nP\nE\nR\nO\nP\nE\nR\nO\nP\nE\nR\nO\nP\nE\nR\nO\nP\nE\nz\na"
As array-matrix:
Input: [[a],[z],[a]]
Output: [[a],[R],[O],[P],[E],[R],[O],[P],[E],[R],[O],[P],[E],[R],[O],[P],[E],[R],[O],[P],[E],[R],[O],[P],[E],[z],[a]]
As string:
Input: "zz\nyy\nxx\nxx\ncc\ncc\nbb\nad"
Output: "zz\nyy\nxx\nxx\ncc\ncc\nbb\naR\n d"
As array-matrix:
Input: [[z,z],[y,y],[x,x],[x,x],[c,c],[c,c],[b,b],[a,d]]
Output: [[z,z],[y,y],[x,x],[x,x],[c,c],[c,c],[b,b],[a,R],[ ,d]]
As string:
Input: "a\nb\nc\nc\nx\nx\ny\nz"
Output: "a\nb\nc\nc\nR\nO\nP\nE\nR\nO\nP\nE\nR\nO\nP\nE\nR\nO\nP\nE\nR\nO\nP\nE\nx\nx\ny\nz"
As array-matrix:
Input: [[a],[b],[c],[c],[x],[x],[y],[z]]
Output: [[a],[b],[c],[c],[R],[O],[P],[E],[R],[O],[P],[E],[R],[O],[P],[E],[R],[O],[P],[E],[R],[O],[P],[E],[x],[x],[y],[z]]
As string:
Input: "zai\nybj\nxcq\nxcu\ncxw\ncxw\nbyr\nazw"
Output: "zai\nybj\nxcR\nxcO\ncRP\ncOE\nbPR\naEO\n Rq\n OP\n PE\n ER\n Ru\n OO\n Pw\n Ew\n Rr\n OP\n PE\n ER\n RO\n Ow\n P \n E \n x \n x \n y \n z "
As array-matrix:
Input: [[z,a,i],[y,b,j],[x,c,q],[x,c,u],[c,x,w],[c,x,w],[b,y,r],[a,z,w]]
Output: [[z,a,i],[y,b,j],[x,c,R],[x,c,O],[c,R,P],[c,O,E],[b,P,R],[a,E,O],[ ,R,q],[ ,O,P],[ ,P,E],[ ,E,R],[ ,R,u],[ ,O,O],[ ,P,w],[ ,E,w],[ ,R,r],[ ,O,P],[ ,P,E],[ ,E,R],[ ,R,O],[ ,O,w],[ ,P, ],[ ,E, ],[ ,x, ],[ ,x, ],[ ,y, ],[ ,z, ]]
As string:
Input: "asdljasdjk"
Output: "asdljasdjk"
As array-matrix:
Input: [[a,s,d,l,j,a,s,d,j,k]]
Output: [[a,s,d,l,j,a,s,d,j,k]]
As string:
Input: "asdljasdjk\nlkawdasuhq\nasjdhajksd"
Output: "asdljasdjk\nRkaOdasPhR\nOPOPEajEPO\nPEPER REP\nERERO ORE\nROROh POR\nOPOP EPq\nPEPE ROd\nERER OR \nRsRO PO \nO jP EP \nl w RE \na d Os \n P \n E \n R \n O \n u \n k "
As array-matrix:
Input: [[a,s,d,l,j,a,s,d,j,k],[l,k,a,w,d,a,s,u,h,q],[a,s,j,d,h,a,j,k,s,d]]
Output: [[a,s,d,l,j,a,s,d,j,k],[R,k,a,O,d,a,s,P,h,R],[O,P,O,P,E,a,j,E,P,O],[P,E,P,E,R, , ,R,E,P],[E,R,E,R,O, , ,O,R,E],[R,O,R,O,h, , ,P,O,R],[O,P,O,P, , , ,E,P,q],[P,E,P,E, , , ,R,O,d],[E,R,E,R, , , ,O,R, ],[R,s,R,O, , , ,P,O, ],[O, ,j,P, , , ,E,P, ],[l, , ,w, , , ,R,E, ],[a, , ,d, , , ,O,s, ],[ , , , , , , ,P, , ],[ , , , , , , ,E, , ],[ , , , , , , ,R, , ],[ , , , , , , ,O, , ],[ , , , , , , ,u, , ],[ , , , , , , ,k, , ]]
As string:
Input: "re\nop\npo\ner"
Output: "re\noR\npO\neP\n E\n R\n O\n P\n E\n R\n O\n p\n o\n P\n E\n r"
As array-matrix:
Input: [[r,e],[o,p],[p,o],[e,r]]
Output: [[r,e],[o,R],[p,O],[e,P],[ ,E],[ ,R],[ ,O],[ ,P],[ ,E],[ ,R],[ ,O],[ ,p],[ ,o],[ ,P],[ ,E],[ ,r]]
tape
ความท้าทายนั้นง่ายกว่ามาก (imho) และใช่คุณสามารถส่งออกอาร์เรย์ของคอลัมน์
hope
แทนได้หรือไม่ ความหวังนั้นแข็งแกร่งกว่าเชือก (นี่เป็นความพยายามที่ไม่ดีที่มีอารมณ์ขันไม่ใช่คำถามจริง)