คำที่พบมากที่สุดสิบร้อยคำ


9

คำถามนี้เขียนขึ้นเพราะ"สิ่งที่ผู้อธิบาย"เป็นเรื่องสนุกที่จะอ่านและทำให้ฉันมีความคิด

เขียน "สิ่งที่ทำให้คอมพิวเตอร์ทำสิ่งต่าง ๆ " ที่อ่าน / รับชุดตัวอักษรตัวเลขและสิ่งต่าง ๆ เช่นนี้"#%|?และส่งคืนTrue / 1ถ้าคำทั้งหมดเป็นส่วนหนึ่งของชุดนี้

หากคำทั้งหมดไม่ได้เป็นส่วนหนึ่งของชุดนั้นให้คืนคำที่ไม่ได้เป็นส่วนหนึ่งของคำนั้น


เว็บไซต์นี้ถือว่าถูกต้องในทุกกรณี กฎถูกเขียนขึ้นเพื่อทำตามข้อกำหนดบนไซต์นั้น


ตัวอย่าง:

ความจริง :

รหัสควรคืนค่าความจริงหากข้อความทั้งหมดเหนือเส้นแนวนอนแรกถูกวางเป็นอินพุต

บรรทัดต่อไปนี้ควรคืนค่าความจริง (อินพุตถูกคั่นด้วย###)

This returns "Hello, World!"
###
tHiS rEtUrNs TrUe...
###
Thing Explainer is a book written by a man.
The man writes books with simple words.
###
This set of stuff "#!^{>7( must return true

Falsey :

***ในตัวอย่างต่อไปนี้เข้าและส่งออกจะถูกคั่นด้วย ###กรณีทดสอบที่แตกต่างกันจะถูกคั่นด้วย

This code doesn't return "Hello, World!"
***
code
###
tHiS rEtUrN"s false...
***
s
false

กฎรายละเอียดเพิ่มเติม:

  • คุณสามารถใช้สิ่งนี้เพื่อทดสอบรหัสของคุณ
  • 'wasn't'ที่ไม่ใช่ตัวอักษรจะถูกตีความเป็นช่องว่างตามรหัสยกเว้นคำเช่น คำที่มีเครื่องหมายอัญประกาศเดี่ยวที่ส่งคืนtrueจะรวมอยู่ในรายการ
    • ตัวอย่างเช่น: foo123barควรกลับfooและbarเนื่องจากไม่ได้เป็นส่วนหนึ่งของรายการและ123สามารถตีความเป็นช่องว่างได้
  • อินพุตจะมีเฉพาะรหัสคะแนน ASCII ที่พิมพ์ได้ [10, 32-126]
  • คำสามารถมีตัวอักษรตัวพิมพ์ใหญ่และเล็ก ดูกรณีทดสอบที่สอง
  • รายการคำศัพท์
    • ควรใช้เป็นอินพุต (STDIN, อาร์กิวเมนต์ของฟังก์ชันหรือเทียบเท่า)
    • สามารถแก้ไขได้ (คำสามารถคั่นด้วยบรรทัดใหม่เครื่องหมายจุลภาค ฯลฯ และคุณอาจเรียงลำดับรายการ)
    • โปรดทราบว่าคุณไม่สามารถใช้รายการนี้ (ไม่เหมือนกัน)
  • เอาต์พุตสามารถอยู่ในรูปแบบที่คุณต้องการ
  • เอาต์พุตสามารถเป็นตัวพิมพ์ใหญ่ตัวพิมพ์เล็กหรือตัวพิมพ์เล็ก (อุปกรณ์เสริม)
  • จะไม่มีสัญลักษณ์ในเอาต์พุต

สำหรับบันทึกโจนาธานอัลลันพบกรณีมุมแปลก: การดำเนินการเกี่ยวกับ XKCD จริงจะไม่สนใจตัวอักษรใด ๆ หลังจากเครื่องหมายอัญประกาศเดี่ยวถึงต่อไปที่ไม่ใช่ [AZ] [az] [az] ['] - find's foundและfind'qazxswedc found'ทั้งสองกลับไม่มีอะไรในขณะที่find'qazx.swedc foundผลตอบแทนswedc.

คุณสามารถเลือกได้ว่าต้องการคืนสิ่งใดfind'qazxswedc found'หรือqazxswedcไม่ กลับมาqazx, swedcสำหรับfind'qazx.swedcเป็นยังตกลง



ฉันไม่แน่ใจว่ามันเป็นคนหลอกลวง ความท้าทายของคุณแตกต่างกันเล็กน้อยเนื่องจากคุณจำเป็นต้องส่งคืนคำที่ไม่ง่าย และในความโปรดปรานของคุณคุณมีสเป็คปกติที่เขียนเป็นภาษาอังกฤษทุกวัน codegolf.stackexchange.com/questions/53323/...
เจมส์

สำหรับภาษาที่พิมพ์แบบสแตติกที่ไม่สามารถแสดงชนิดส่งคืนBooleanหรืออนุญาตArray<String>ให้ส่งคืนอาร์เรย์ / รายการที่ว่างเปล่าได้หรือไม่
CAD97

@ CAD97 สำหรับกรณีที่คำทั้งหมดเป็นเรื่องง่าย? คุณสามารถเลือกวิธีการที่คุณต้องการที่จะแสดงค่า truthy 1ก็สามารถเป็นจำนวนเต็ม เอาต์พุตว่างไม่ได้รับอนุญาต
Stewie Griffin

ฉันสับสนกับคำอธิบายใหม่ของกฎสำหรับfind'qazxswedcอินพุต เราหรือเราไม่ควรแยกอะพอสโทรฟีออกจากกัน? ตัวอย่างเช่นisn'tส่งคืนtrue(อยู่ในรายการ) แต่isnส่งคืนisnเนื่องจากไม่อยู่ในรายการ จากตรรกะนั้นฉันไปกับ "ไม่แยกอะพอสโทรฟี" และfind'qazxswedc foundกลับfind'qazxswedcมา
AdmBorkBork

คำตอบ:


2

PowerShell v3 +, 105 92 ไบต์

param($a,$b)$x=@();-split($b-replace"[^a-zA-Z']",' ')|%{if($_-notin$a){$x+=$_}};($x,1)[!$x]

นำคำง่ายๆเหมือนและคำเช่น$a ผู้ช่วยยี่ห้อ$b $xใช้คำแต่ละคำใน$bและกำจัดตัวอักษรที่ไม่เลวแล้วตรวจสอบแต่ละ|{...}คำ ถ้าเป็นคำที่ไม่อยู่ในแล้วเราเพิ่มเข้าไป$a $xในตอนท้ายเราเลือก$xหรือไม่1 $xที่ถูกส่งออกมาอย่างใดอย่างหนึ่งหรือwords1

บางคำที่ต้องลอง

PS C:\Tools\Scripts\golfing> ('This returns "Hello, World!"','tHiS rEtUrNs TrUe...','Thing Explainer is a book written by a man.
The man writes books with simple words.','This set of stuff "¤!^¤>7\ must return true'|%{"$_";(.\ten-hundred-most-common-words.ps1 (gc .\ten-hundred-most-common-words.txt) $_)})-join"`n###`n"
This returns "Hello, World!"
###
1
###
tHiS rEtUrNs TrUe...
###
1
###
Thing Explainer is a book written by a man.
The man writes books with simple words.
###
1
###
This set of stuff "¤!^¤>7\ must return true
###
1

PS C:\Tools\Scripts\golfing> ("This code doesn't returns Hello, World!",'tHiS rEtUrN"s false...'|%{"$_`n***`n"+(.\ten-hundred-most-common-words.ps1 (gc .\ten-hundred-most-common-words.txt) $_)})-join"`n###`n"
This code doesn't returns Hello, World!
***
code
###
tHiS rEtUrN"s false...
***
s false

2

Python ขนาด 93 ไบต์

import re
lambda w,s:[w for w in re.sub("[^'\w]|\d|_",' ',w).split()if w.lower()not in s]or 1

กรณีทดสอบทั้งหมดอยู่ที่ideone

การประมวลผลล่วงหน้าของรายการคือการแยก|และวางไว้ในset(ซึ่งฉันคิดว่าใช้ได้ถ้าอนุญาตให้ทำการเรียงลำดับล่วงหน้า) คำป้อนข้อมูลเป็นชุดเป็นws

หากไม่ได้รับอนุญาตนี้จะกลายเป็น 98 ไบต์กับกลายเป็นnot in snot in set(s)

เราสามารถประมวลผลล่วงหน้าเพื่อให้มีการเรียงสับเปลี่ยนของอักขระตัวพิมพ์ใหญ่และตัวพิมพ์เล็กทั้งหมดได้เช่นกันและประหยัดได้ 8 ไบต์ แต่ฉันคิดว่ามันอาจจะไกลเกินไป (นั่นจะเป็นชุดใหญ่)

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