คำถามติดแท็ก string

การแข่งขันเพื่อแก้ปัญหาเฉพาะผ่านการใช้งานและการจัดการของสตริง

30
Mirage ของคนฉลาด
กาลครั้งหนึ่งฉันได้อ่านคำถาม / คำตอบนี้เกี่ยวกับ Quora มีโปรแกรมเมอร์ที่มีองศาวิทยาศาสตร์คอมพิวเตอร์ซึ่งไม่สามารถผ่านการทดสอบ FizzBuzz ได้หรือไม่ รหัสนี้เป็นคำตอบที่ชัดเจน for i in range(1, 100): if i % 3 == 0 and i % 5 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0: print "Buzz" else: print i แน่นอนว่าFizzBuzzได้รับการตีกอล์ฟให้ตาย แต่นั่นไม่ใช่สิ่งที่คำถามนี้เกี่ยวกับ ในความเห็นมีคนพูดว่าคำตอบที่ชัดเจนนี้ดีมากเพราะมันง่ายที่จะเพิ่มเงื่อนไขพิเศษเช่นพิมพ์ "Jazz" …
29 popularity-contest  code-challenge  word  popularity-contest  string  grid  language-design  code-golf  source-layout  math  fastest-algorithm  assembly  code-golf  json  code-golf  arithmetic  array-manipulation  code-golf  ascii-art  code-golf  crossword  code-golf  string  restricted-complexity  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  decision-problem  balanced-string  syntax  code-golf  grid  puzzle-solver  hexagonal-grid  code-golf  math  number  sequence  code-golf  string  decision-problem  code-golf  cryptography  king-of-the-hill  code-challenge  fastest-code  code-golf  number  code-golf  code-golf  string  code-golf  cryptography  king-of-the-hill  java  code-golf  number-theory  base-conversion  code-golf  code-golf  array-manipulation  code-golf  array-manipulation  sorting  code-challenge  restricted-source  quine  code-golf  tips  python  king-of-the-hill  code-golf  source-layout  fractal  code-golf  tips  game  king-of-the-hill  path-finding  grid  code-golf  kolmogorov-complexity  natural-language  code-golf  tips  python  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  number  combinatorics  random  integer-partitions  code-golf  string  code-golf  vim  comment  code-golf  combinatorics  counting  code-challenge  rosetta-stone  code-golf  combinatorics  sequence  subsequence  code-golf  code-challenge  restricted-source  primes  printable-ascii  popularity-contest  graphical-output  image-processing 

13
Jimmys สามารถใส่ได้กี่ตัว?
ในการท้าทายที่เรียบง่าย แต่สนุกนี้คุณถูกขอให้ตัดสินว่าจิมมี่จะตกจากแพลตฟอร์มของพวกเขาหรือไม่ จิมมี่มีสามส่วนของร่างกาย/, oและ\จัดเช่นนี้ /o\ -แพลตฟอร์มจะแสดงด้วย จิมมี่จะตกลงมาจากแพลตฟอร์มของพวกเขาหากพวกเขามีสองส่วนของร่างกายที่ไม่ได้อยู่เหนือแพลตฟอร์มโดยตรง ตัวอย่างบางส่วน: /o\ - ------- -จิมมี่จะสมดุลเนื่องจากทุกส่วนของร่างกายของพวกเขาดังกล่าวข้างต้น /o\ ------ --- จิมมี่จะมีความสมดุลตั้งแต่สองส่วนของร่างกายอยู่เหนือ-s /o\ -- ---- -- จิมมี่จะทรงตัวแม้ว่าพวกเขาจะแยกระหว่างสองแพลตฟอร์ม /o\ - จิมมี่จะไม่สมดุลเนื่องจากส่วนของร่างกายสองชิ้นไม่ได้อยู่เหนือแท่น งานของคุณคือการเขียนโปรแกรมที่ใช้แพลตฟอร์มเป็นภาชนะยาวที่มีเพียง - s และs (เช่นสตริง) และส่งออกจำนวน Jimmys ที่สามารถวางบนแพลตฟอร์มดังกล่าวซึ่งจะไม่มีใครตกอยู่และไม่มีใครจะ คาบเกี่ยวกัน จิมมี่อาจมีส่วนใดส่วนหนึ่งของร่างกายทางด้านซ้ายของจุดเริ่มต้นของสายอักขระหรือด้านขวาของจุดสิ้นสุดของสายอักขระ นี่คือรหัสกอล์ฟดังนั้นคำตอบจะได้คะแนนเป็นไบต์โดยมีจำนวนไบต์น้อยกว่าที่เป็นเป้าหมาย กรณีทดสอบ ปัจจัยการผลิต - - - - - -- -- -- ---- - -- -- ------- …
29 code-golf  string 

19
หมุนคอลัมน์
กำหนดจำนวนเต็มkและบล็อกข้อความหรืออาร์เรย์ 2d ที่อาร์เรย์ภายในอาจมีความยาวไม่เท่ากัน (ซึ่งคล้ายกับบล็อกข้อความ) หมุนทุกตัวอักขระหรือองค์ประกอบในคอลัมน์k -th ขึ้นหรือลงไปยังตำแหน่งถัดไป ที่มีอยู่ ตัวอย่าง หมุนคอลัมน์ที่ 20 ของข้อความต่อไปนี้ (แบบ 1): A line with more than k characters. A longer line with more than k character. A short line. Rotate here: ------v-- This is long enough. This is not enough. Wrapping around to the first line. เอาท์พุท: …

6
ช่วยด้วย! เครื่องคิดเลขของฉันทำงานผิดปกติ!
บทนำ เครื่องคิดเลขของฉันมีพฤติกรรมแปลก ๆ บางครั้งเมื่อฉันพิมพ์ในจะแสดง8 2และบางครั้งเมื่อฉันพิมพ์ในจะแสดง6 +ปุ่มบางปุ่มผสมกัน! ใครสามารถช่วยฉันพิจารณาว่าอันไหน ท้าทาย: อินพุต:รายการสมการที่ไม่ถูกต้องพร้อมผลลัพธ์ที่ถูกต้อง เอาท์พุท:สองปุ่มที่สลับ ตัวอย่างเช่น: อินพุตอาจเป็น: 123 = 3 8423 = 252 4+4 = 8 4*7-10 = 417 9/3 = 3 42-9 = -36 ซึ่งผลที่คาดว่าจะเป็น: และ2* ทำไม? เนื่องจากสมการทั้งหมดจะถูกต้องหากเราสลับ 2 และ * ของ: 1*3 = 3 84*3 = 252 4+4 = 8 427-10 = 417 …
28 code-golf  number  arithmetic  integer  code-golf  math  number  geometry  code-golf  grid  code-golf  math  number  sequence  primes  code-golf  sequence  kolmogorov-complexity  code-golf  string  ascii-art  alphabet  code-golf  math  sequence  integer  code-golf  number-theory  integer  natural-language  code-golf  date  code-golf  function  code-golf  ascii-art  code-golf  math  number-theory  primes  classification  code-golf  array-manipulation  decision-problem  matrix  code-golf  number  code-golf  code-golf  ascii-art  matrix  code-golf  string  code-golf  sequence  base-conversion  code-golf  code-golf  math  number-theory  combinatorics  integer-partitions  code-golf  integer  binary  base-conversion  code-golf  integer  base-conversion  palindrome  code-golf  code-golf  integer-partitions  code-golf  math  ascii-art  matrix  code-golf  number  sequence  number-theory  matrix  code-golf  interpreter  code-golf  graph-theory  code-golf  ascii-art  decision-problem  code-golf  division  code-golf  array-manipulation  primes  code-golf  string  ascii-art  code-golf  primes  counting  code-golf  matrix  unicode  code-golf  source-layout  code-golf  grammars  code-golf  string  cops-and-robbers  regular-expression  obfuscation  string  code-challenge  cops-and-robbers  regular-expression  code-golf  kolmogorov-complexity  game  card-games  code-golf  kolmogorov-complexity  code-golf  array-manipulation  matrix  code-challenge  cops-and-robbers  code-challenge  decision-problem  cops-and-robbers  code-golf  permutations 

29
ส่งแอนนาแกรม! ไม่มีนั่นไม่ใช่หนึ่งเดียว!
ให้รายการของสตริงที่ไม่ซ้ำกันซึ่งเป็นแอนนาแกรมของแต่ละรายการให้ส่งออกแอนนาแกรมของคำเหล่านั้นที่แตกต่างจากแต่ละคำในรายการ สตริงจะเป็นตัวอักษรและตัวเลขและรับประกันว่าจะเป็นแอนนาแกรมที่ถูกต้อง โปรแกรมหรือฟังก์ชั่นสามารถทำได้ แต่ไม่จำเป็นต้องเป็นแบบไม่กำหนดค่าความหมายที่กำหนดให้กับอินพุตเดียวกันการรันโค้ดหลาย ๆ ตัวสามารถสร้างเอาต์พุตที่แตกต่างกันได้ตราบใดที่เอาต์พุตที่เป็นไปได้ทั้งหมด กรณีทดสอบ [Input] -> Possible output ----------------- [ab] -> ba [aba, aab] -> baa [123, 132, 231, 312, 321] -> 213 [hq999, 9h9q9, 9qh99] -> 999hq [abcde123, ab3e1cd2, 321edbac, bcda1e23] -> ba213ecd

28
การคูณสตริงที่ชาญฉลาด
แรงบันดาลใจจากความท้าทายนี้ (ขอบคุณ @cairdcoinheringaahing สำหรับชื่อเรื่อง!) งานของคุณคือการใช้สาย ASCII สองสายที่พิมพ์ได้และคูณองค์ประกอบด้วยกฎต่อไปนี้ มันทำงานยังไง? รับสองสาย (ตัวอย่างsplitและisbn) คุณจะแรกตัดทอนให้ยาวขึ้นเพื่อให้มีความยาวเท่ากันจากนั้นกำหนดรหัส ASCIIของพวกเขา: split -> spli -> [115, 112, 108, 105] isbn -> isbn -> [105, 115, 98, 110] ขั้นตอนต่อไปคือการแมปไปยังช่วง[0..94]โดยการลบ32แต่ละรหัส: [115, 112, 108, 105] -> [83, 80, 76, 73] [105, 115, 98, 110] -> [73, 83, 66, 78] ตอนนี้คุณจะคูณโมดูโลแบบองค์ประกอบ95(เพื่อให้อยู่ในช่วงที่พิมพ์ได้): [83, 80, …

1
นับข้อผิดพลาดการสะกดในข้อความ ลดจำนวนข้อผิดพลาดการสะกดคำในรหัสของคุณ
เขียนโปรแกรมหรือฟังก์ชั่นที่รับสองอินพุต: ข้อความตัวอักษร พจนานุกรมภาษาอังกฤษตามที่ปรากฏในไฟล์ Github นี้ (มีประมาณ 60000 คำ) และส่งออกจำนวนข้อผิดพลาดการสะกดคำในข้อความ (ดูด้านล่างสำหรับคำจำกัดความและกรณีทดสอบ) คุณสามารถรับพจนานุกรมเป็นพารามิเตอร์ในการทำงานของคุณในฐานะไฟล์ที่กำหนดไว้ล่วงหน้าซึ่งโปรแกรมของคุณคาดหวังว่าจะค้นหาเป็นข้อมูลที่กำหนดโค้ดยากในรหัสของคุณหรือในลักษณะที่เหมาะสมอื่น ๆ รหัสของคุณควรมีลักษณะเหมือนข้อความตัวอักษรมีข้อผิดพลาดในการสะกดน้อยที่สุด ดังนั้นคุณจะคำนวณคะแนนของรหัสของคุณโดยป้อนให้ตัวเองเป็นอินพุต ผู้ชนะคือรหัสที่มีคะแนนต่ำสุด (คะแนนที่น้อยที่สุดคือ 0) หากมีหลายคำตอบด้วยคะแนนเดียวกันผู้ชนะจะถูกตัดสินโดยขนาดรหัส (เป็นตัวอักษร) หากคำตอบทั้งสองยังคงถูกผูกไว้ผู้ชนะคือคำตอบก่อนหน้า หากจำเป็นคุณสามารถสมมติว่าข้อความอินพุตเป็น ASCII (ไบต์ 32 ... 126) โดยมีบรรทัดใหม่เข้ารหัสในลักษณะทั่วไป (1 ไบต์ "10" หรือ 2 ไบต์ "13 10") และไม่ว่างเปล่า อย่างไรก็ตามหากรหัสของคุณมีอักขระที่ไม่ใช่ ASCII ก็ควรสนับสนุนการป้อนข้อมูลที่ไม่ใช่ ASCII (เพื่อให้สามารถคำนวณคะแนนของตัวเอง) อักขระแบ่งออกเป็นคลาสต่อไปนี้: ตัวอักษร a ... z และ A ... Z …

30
'abc' และ 'cba'
งานของคุณเป็นเรื่องง่ายเขียนโค้ดเดียวว่าเมื่อดำเนินการในหนึ่งผลภาษาเดียวสตริงและเมื่อดำเนินการในผลภาษาอื่นเพียงสตริง'abc' 'cba'โปรแกรมไม่ควรรับอินพุต นี่คือความท้าทายรหัส - กอล์ฟ

11
สนุกมากขึ้นด้วยสตริงตัวพิมพ์ใหญ่ - เล็ก
ได้รับแรงบันดาลใจจากการท้าทายนี้ (หรือเฉพาะเจาะจงมากขึ้นโดยการเข้าใจผิด) ฉันได้พบกับความท้าทายต่อไปนี้ รับสตริงอินพุต S กลับลำดับของอักขระตัวพิมพ์ใหญ่ทั้งหมดและอักขระตัวพิมพ์เล็กทั้งหมด ปล่อยให้ตัวละครที่ไม่ใช่ตัวอักษรทั้งหมดอยู่ในสถานที่ ตัวอย่างเช่น โปรดทราบว่าตัวพิมพ์ใหญ่W(ตัวอักษรตัวพิมพ์ใหญ่ตัวแรก) ถูกแทนที่ด้วยH(ตัวสุดท้าย) ตัวอักษรตัวพิมพ์เล็ก: 'd' (ตัวแรก) เปลี่ยนเป็นe(ตัวสุดท้าย), l(วินาที) จะถูกแทนที่ด้วยl(สุดยอดปากกา) ... ตัวอักษรที่ไม่ใช่ตัวอักษรทั้งหมดจะถูกวางไว้ อินพุต อินพุตเป็นสตริงที่มีอักขระ ASCII เท่านั้นในช่วง 32-126 การป้อนข้อมูลรับประกันว่ามีความยาวอย่างน้อย 1 ตัวอักษรและจะไม่เกินขีด จำกัด ของภาษาของคุณ เอาท์พุต สตริงเดียวกันนั้นโดยมีการสลับอักขระตามที่อธิบายไว้ กฎเพิ่มเติม ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม คำตอบจะต้องเป็นโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบไม่ใช่ตัวอย่างหรือรายการ REPL code-golfคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ กรณีทดสอบ A A Ok Ok OK KO Hello, World! Wdlro, Holle! 0123456789 0123456789 The quick …
28 code-golf  string 

30
ยาวตัวอักษรวิ่ง
ให้สตริงที่ไม่ว่างเปล่าของตัวอักษร ASCII ตัวพิมพ์เล็กa-zเอาท์พุทสตริงนั้นพร้อมกับ "run" ต่อเนื่องของตัวอักษรเดียวกันที่มีความยาวโดยสำเนาอีกหนึ่งตัวของตัวอักษรนั้น ตัวอย่างเช่นdddogg( 3 d , 1 o , 2 g ) เปลี่ยนเป็นddddooggg( 4 d ', 2 o ', 3 g 's) นี่คือcode-golf : คำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ กรณีทดสอบ aabbcccc -> aaabbbccccc ออด -> ddooorrbbeelll uuuuuuuuuz -> uuuuuuuuuuuzz q -> qq xyxyxy -> xxyyxxyyxxyy xxxyyy -> xxxxyyyy
28 code-golf  string 

9
ตรวจจับหน้าต่างศิลปะ ASCII ที่ทำจากอักขระ M และ S
Window เป็นสี่เหลี่ยมจัตุรัส ASCII-art ที่มีความยาวด้านคี่อย่างน้อย 3 เส้นโดยมีเส้นขอบตัวอักษรหนึ่งเส้นล้อมรอบขอบเช่นเดียวกับลายเส้นแนวตั้งและแนวนอนตรงกลาง: ####### # # # # # # ####### # # # # # # ####### ของ MS หน้าต่างเป็นหน้าต่างที่ชายแดนจะทำเฉพาะของตัวละครและM Sงานของคุณคือการเขียนโปรแกรม (หรือฟังก์ชั่น) ที่ใช้สตริงและเอาท์พุทค่าความจริงถ้าอินพุตเป็น MS Window ที่ถูกต้องและค่าเท็จถ้ามันไม่ได้ ข้อมูลจำเพาะ คุณสามารถรับอินพุตเป็นสตริงที่คั่นด้วยบรรทัดใหม่หรืออาร์เรย์ของสตริงที่แทนแต่ละบรรทัด เส้นขอบของหน้าต่าง MS อาจประกอบด้วยอักขระ M และ S ผสมกัน แต่ด้านในจะประกอบด้วยช่องว่างเสมอ คุณสามารถเลือกที่จะตรวจจับเฉพาะหน้าต่างที่มีการขึ้นบรรทัดใหม่หรือเฉพาะหน้าต่างที่ไม่มีการขึ้นบรรทัดใหม่ แต่ไม่ใช่ทั้งสองอย่าง กรณีทดสอบ Truthy: MMM MMM MMM SMSMS M M …

30
ง่ายเหมือน ABC
อินพุต สตริงที่มีมากที่สุดคนหนึ่งของแต่ละตัวอักษรA, และB Cพวกเขาอาจอยู่ในลำดับใด ๆ สตริงว่างคืออินพุตที่ถูกต้อง หมายเหตุ:รุ่นก่อนหน้าของความท้าทายนี้ใช้ตัวอักษรLEJแทนABCและพวกเขาอาจยังคงใช้ถ้าต้องการ เอาท์พุต สตริงของA, B, Cตัวอักษรที่ไม่ได้อยู่ในการป้อนข้อมูล พวกเขาอาจอยู่ในลำดับใด ๆ หากผลลัพธ์เป็นสตริงว่างเปล่าเพียงแค่ให้ผลลัพธ์ไม่ถูกต้องหากนั่นเหมาะสมสำหรับการใช้งานของคุณ (เช่นคุณไม่จำเป็นต้องโทรprintหาสตริงที่ว่างเปล่า) ตัวอย่าง หากอินพุตเป็นBผลลัพธ์ก็ควรจะเป็นCAหรือACตั้งแต่AและCไม่อยู่ในอินพุต หากอินพุตเป็นสตริงว่างเปล่าเอาต์พุตควรเป็นABCหรือการเรียงลำดับใด ๆ เนื่องจากไม่มีทั้งสามตัวอักษรในอินพุต หากอินพุตเป็นCABผลลัพธ์เอาต์พุตควรเป็นสตริงว่างเนื่องจากทั้งสามตัวอักษรมีอยู่ในอินพุต กรณีทดสอบ มีกรณีที่ป้อนเข้าน้อยมากที่เราสามารถระบุได้ทั้งหมด: in -> out1 | out2 | out3 | ... ABC -> "" ACB -> "" BCA -> "" BAC -> "" CAB -> "" CBA -> "" …

19
ชื่อเรื่องที่เป็นมิตรกับ URL
ผู้คนในไซต์นี้ชอบที่จะตกแต่งชื่อโพสต์ของตน ... Stewie's sequence: + * - / + * - / อย่างไรก็ตามเมื่อชื่อเรื่องนี้จะต้องรวมอยู่ใน URL ของหน้ามันจะง่ายขึ้น: stewies-sequence ความท้าทาย งานของคุณคือการสร้างโปรแกรมหรือฟังก์ชั่นที่ให้สตริงที่เป็นตัวแทนของชื่อโพสต์เอาท์พุท / ส่งกลับการแปลง "เป็นมิตรกับ URL" อัลกอริทึมคือ: แปลงเป็นตัวพิมพ์เล็ก (ถ้ามี) แทนที่ทุกช่องว่าง ( ), จุด ( .), เครื่องหมายจุลภาค ( ,) หรือเครื่องหมายทับ ( /) ด้วยเส้นประ ( -) ลบอักขระที่ไม่ใช่ตัวอักษรและตัวเลขยกเว้นเครื่องหมายขีดกลาง ลดขนาดกลุ่มของเครื่องหมายขีดคั่นที่อยู่ติดกัน ( a---b -> a-b) ลบสิ่งที่นำหน้า / ต่อท้าย โปรดทราบว่าอัลกอริทึมนี้เป็นการทำให้เข้าใจง่ายและอาจไม่ให้ผลลัพธ์ที่เหมือนกันกับวิธีการที่แท้จริงของเว็บไซต์ …

20
สตริงที่จับคู่ได้
สตริงสามารถจับคู่ได้หากสามารถแบ่งออกเป็นรายการย่อยซึ่งแต่ละรายการจะมีสตริงซ้ำกันสองครั้งติดต่อกัน ตัวอย่างเช่นaabaaababbbabaจับคู่ได้ดังนี้: aaba aaba b b ba ba กำหนดสตริงที่ไม่ว่างเป็นa's และb' ให้ส่งออกค่า Truthy หากสามารถจับคู่ได้และค่า Falsey หากไม่ใช่ Pairable: aa abaaba bbababbb aabaaababbbaba babababa bbbbbbbbbbbb aaababbabbabbbababbaabaabaababaaba aaaabaab ไม่สามารถจับคู่ได้: a ba baab abaabaaba bbbbbbbbbbbbbbb baababbabaaaab aaaaabbaaaaa ฉันแนะนำให้คุณหาวิธีแก้ปัญหาที่ไม่ใช้ regex แม้ว่าจะมีคำตอบสั้น ๆ ในภาษาของคุณ คุณสามารถทำเครื่องหมายเป็น "no regex" โดย regex ฉันหมายถึงระบบย่อยการจับคู่รูปแบบสตริงในตัว ลีดเดอร์บอร์ด: แสดงตัวอย่างโค้ด var QUESTION_ID=98252,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/98252/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var …

30
พิมพ์ตัวอักษร Fibonacci
รับN (2 <= N ) พิมพ์Nบรรทัดของชุดตัวอักษร Fibonacci เช่นนี้ (เช่นN = 5) ก่อนอื่นให้เริ่มด้วยaและb: a b ถัดไปเพิ่มสองบรรทัด a b ab เพิ่มสองบรรทัดสุดท้ายต่อไป a b ab bab ทำต่อไป... a b ab bab abbab และเราทำเสร็จแล้ว โปรดจำไว้ว่านี่คือรหัสกอล์ฟดังนั้นโค้ดที่มีจำนวนไบต์น้อยที่สุดจะเป็นผู้ชนะ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.