चैट में की गई एक टिप्पणी और आगामी बातचीत ने मुझे यह चुनौती देने के लिए प्रेरित किया।
क्या मैं इधर-उधर इनिशियल्स द्वारा संदर्भित एकमात्र व्यक्ति हूँ? हम सब नीचे गोल्फिंग चीजों के बारे में हैं। हमारे पास MB और D-nob और ... O हो सकते हैं।
अगर मुझे "सीएच" के रूप में जाना जाता है, तो मुझे लगता है कि बाकी सभी को एक प्रारंभिक-आधारित उपनाम होना चाहिए।
यहाँ शीर्ष 100 प्रोग्रामिंग पहेलियाँ और प्रतिष्ठा के साथ खेलने के लिए कोड गोल्फ उपयोगकर्ताओं की एक सूची है:
Martin Büttner
Doorknob
Peter Taylor
Howard
marinus
Dennis
DigitalTrauma
David Carraher
primo
squeamish ossifrage
Keith Randall
Ilmari Karonen
Quincunx
Optimizer
grc
Calvin's Hobbies
ugoren
Mig
gnibbler
Sp3000
aditsu
histocrat
Ventero
xnor
mniip
Geobits
J B
Joe Z.
Gareth
Jan Dvorak
isaacg
edc65
Victor
steveverrill
feersum
ace
Danko Durbić
xfix
PhiNotPi
user23013
manatwork
es1024
Joey
daniero
boothby
nneonneo
Joey Adams
Timwi
FireFly
dansalmo
grovesNL
breadbox
Timtech
Flonk
algorithmshark
Johannes Kuhn
Yimin Rong
copy
belisarius
professorfish
Ypnypn
trichoplax
Darren Stone
Riot
ProgramFOX
TheDoctor
swish
minitech
Jason C
Tobia
Falko
PleaseStand
VisioN
leftaroundabout
alephalpha
FUZxxl
Peter Olson
Eelvex
marcog
MichaelT
w0lf
Ell
Kyle Kanos
qwr
flawr
James_pic
MtnViewMark
cjfaure
hammar
bitpwner
Heiko Oberdiek
proud haskeller
dan04
plannapus
Mr Lister
randomra
AShelly
ɐɔıʇǝɥʇuʎs
Alexandru
user unknown
( यह है कि मैं इसे कैसे मिल गया )
चुनौती
एक प्रोग्राम या फ़ंक्शन लिखें जो स्ट्रिंग्स की सूची में लेता है और उनके न्यूनतम, अद्वितीय, प्रारंभिक-आधारित उपनामों की स्ट्रिंग की एक और सूची को आउटपुट करता है, जो सूची की शुरुआत के करीब उन लोगों को वरीयता देते हैं।
उपनाम बनाने के लिए दिए गए क्रम में सूची में प्रत्येक स्ट्रिंग S पर इस विधि को लागू करें:
- स्प्लिट एस को रिक्त स्थान द्वारा अलग किए गए शब्दों में, प्रक्रिया में सभी रिक्त स्थान को हटा दें।
- सबसे छोटे से सबसे लंबे समय तक, एस में शब्दों के पहले अक्षरों की स्ट्रिंग के गैर-रिक्त उपसर्गों को सूचीबद्ध करें।
जैसेJust Some Name
→J
,JS
,JSN
- इस सूची में पहला आइटम चुनें, जो पहले से ही चुने गए उपनाम के समान नहीं है।
जैसे अगरJust Some Name
पहला तार था तोJ
उपनाम होने की गारंटी है। - उपसर्गों को फिर से सूचीबद्ध करें, लेकिन इस बार इसमें प्राकृतिक शब्द में पहले शब्द का दूसरा अक्षर शामिल है।
जैसेJust Some Name
→Ju
,JuS
,JuSN
- इस सूची के लिए चरण 3 में भी ऐसा ही करें, अगर कोई विशिष्ट उपनाम मिला है तो रोक दें।
- पहले शब्द के शेष अक्षरों के साथ इस प्रक्रिया को दोहराएं, अंत में दूसरे शब्द में अक्षर डालें, फिर तीसरा, और इसी तरह, जब तक कि एक अद्वितीय उपनाम नहीं मिलता है।
: जैसे पहले अद्वितीय यहाँ सूचीबद्ध स्ट्रिंग उपनाम हो जाएगा
Jus
,JusS
,JusSN
Just
,JustS
,JustSN
Just
,JustSo
,JustSoN
(ध्यान दें किo
बाद नहीं जोड़ा गया थाJust
)
Just
,JustSom
,JustSomN
Just
,JustSome
,JustSomeN
Just
,JustSome
,JustSomeNa
Just
,JustSome
,JustSomeNam
Just
,JustSome
,JustSomeName
अंत में सभी इनपुट स्ट्रिंग्स को एक अद्वितीय उपनाम (संभवतः स्ट्रिंग के समान) के साथ समाप्त होना चाहिए। आप मान सकते हैं कि इस पद्धति का उपयोग करके इनपुट स्ट्रिंग में से कोई भी एक ही उपनाम पर नहीं जाएगा।
उदाहरण
मेरी गलती को ठीक करने के लिए अपडेट किया गया!
इनपुट के लिए
Martin Buttner
Doorknob
Peter Taylor
Howard
marinus
Dennis
DigitalTrauma
David Carraher
Martin Bitter
Martin Butter
Martin Battle
Martini Beer
Mart Beer
Mars Bar
Mars Barn
उपनाम होगा
M
D
P
H
m
De
Di
DC
MB
Ma
MaB
Mar
MarB
Mars
MarsB
विवरण
- इनपुट एक फ़ाइल (प्रति पंक्ति एक नाम) से हो सकता है, या एक समय में एक नाम स्टडिन / कमांड लाइन के माध्यम से, या स्ट्रिंग्स की सूची के फ़ंक्शन तर्क के रूप में, या नामों के बीच newlines के साथ एक स्ट्रिंग के एक फ़ंक्शन arg के रूप में हो सकता है।
- आउटपुट को स्टैडआउट (प्रति पंक्ति एक उपनाम) पर मुद्रित किया जाना चाहिए या फ़ंक्शन द्वारा स्ट्रिंग की सूची के रूप में, या उपनामों के बीच नईलाइन के साथ एक स्ट्रिंग के रूप में लौटाया जाना चाहिए।
- आदर्श रूप से प्रोग्राम उन नामों के लिए काम करेंगे जिनमें लाइन टर्मिनेटर को छोड़कर कोई भी वर्ण है । हालाँकि, आप मान सकते हैं कि सभी नामों में केवल मुद्रण योग्य ASCII है । (पीपीसीजी के नाम नहीं हैं)
- केवल नियमित अंतरिक्ष वर्ण शब्द विभाजक के रूप में गिना जाता है। अग्रणी और अनुगामी स्थानों को अनदेखा किया जा सकता है।
स्कोरिंग
बाइट्स में सबसे कम सबमिशन जीतता है। टाईब्रेकर जल्द से जल्द पोस्ट किए गए उत्तर पर जाता है।