साक्षात्कार: द फ्रंट नाइन
यह प्रोग्रामिंग जॉब इंटरव्यू प्रश्नों से प्रेरित चुनौतियों की एक श्रृंखला है।
आप उस कार्यालय में चलते हैं जहां आपका संभावित भविष्य बॉस बैठता है। "अंदर आओ और बैठो", वे कहते हैं। आप घबराकर बैठ जाते हैं, यह सुनिश्चित कर लेते हैं कि आपका तेज़ अभी तक पेशेवर पोशाक झुर्रियों से मुक्त है। वह आपसे आपकी शिक्षा, पिछले कार्य अनुभवों, आदि के बारे में कई सवाल पूछता है। आप उन्हें ज्यादातर ईमानदारी से जवाब देते हैं, यहां और वहां थोड़ा अलंकरण जोड़कर खुद को बेहतर बनाने के लिए। वह आगे झुक जाता है और फिर से बोलना शुरू कर देता है।
"क्या आपने कभी कोड गोल्फिंग के बारे में सुना है?" क्यों, हाँ, आप गोल्फ कोड से प्यार करते हैं, और इसे अपने खाली समय में अक्सर करते हैं। "महान। साक्षात्कार का अंतिम भाग एक तकनीकी परीक्षा है। आपको समस्याओं की एक श्रृंखला को हल करने के लिए कोड लिखने के साथ काम सौंपा जाएगा ..." वह आपको कागज की एक शीट सौंपता है। आप जल्दी से उस पर नज़र डालें। बहुत आसान। अब उन्होंने कोड गोल्फिंग के बारे में क्यों पूछा?
"आपको इन समस्याओं के समाधान के कुल आकार के आधार पर वर्गीकृत किया जाएगा। यदि आप अन्य सभी उम्मीदवारों की तुलना में कम स्कोर कर सकते हैं, तो नौकरी आपकी है।" ओह। "गोल्फ की तरह, 18 समस्याएं हैं, 9 के दो सेटों में टूटी हुई हैं। किसी भी भाषा का उपयोग करने के लिए स्वतंत्र महसूस करें जिसे आप उन्हें हल करना चाहते हैं। हमारे पास आपके द्वारा सुनी गई हर भाषा के लिए कंपाइलर और दुभाषिया हैं, और निश्चित रूप से कुछ हैं जो आप हेवन करते हैं। 'टी। गुड लक!'
कार्य
कार्य 1: गुणन तालिका
n
इनपुट के रूप में एक संख्या को देखते हुए , रेंज में पॉजिटिव पूर्णांकों के लिए गुणन तालिका को आउटपुट करता है [1, n]
। n
सीमा में होगा [1, 12]
। सभी संख्याओं को तालिका में छोड़ दिया जाना चाहिए। x
ऊपरी-बाएँ कोने के लिए वर्ण का उपयोग करें ।
उदाहरण:
n=4
x 1 2 3 4
1 1 2 3 4
2 2 4 6 8
3 3 6 9 12
4 4 8 12 16
n=10
x 1 2 3 4 5 6 7 8 9 10
1 1 2 3 4 5 6 7 8 9 10
2 2 4 6 8 10 12 14 16 18 20
3 3 6 9 12 15 18 21 24 27 30
4 4 8 12 16 20 24 28 32 36 40
5 5 10 15 20 25 30 35 40 45 50
6 6 12 18 24 30 36 42 48 54 60
7 7 14 21 28 35 42 49 56 63 70
8 8 16 24 32 40 48 56 64 72 80
9 9 18 27 36 45 54 63 72 81 90
10 10 20 30 40 50 60 70 80 90 100
कार्य 2: साधारण आरएमएस
ASCII वर्णों की एक स्ट्रिंग को देखते हुए, अपने ASCII अध्यादेशों के रूट-मीन-स्क्वायर औसत का उत्पादन करते हैं । स्ट्रिंग में कभी भी NULL बाइट नहीं होगी (क्रमांक 0)।
उदाहरण:
Input: The Interview: The Front Nine
Output: 95.08290393488019
Input: `1234567890-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./
Output: 91.38101204135423
कार्य 3: प्रक्षेप्य गति
जमीन के स्तर से निकाल दिए गए प्रक्षेप्य के क्षितिज के साथ प्रारंभिक वेग और कोण को देखते हुए, क्षैतिज दूरी को आउटपुट करता है जो लैंडिंग से पहले यात्रा करेगा। प्रारंभिक वेग मीटर प्रति सेकंड में दिया जाएगा, कोण डिग्री में दिया जाएगा, और दूरी मीटर में होगी। पृथ्वी के गुरुत्वाकर्षण को मानें ( g=9.81 m/s/s
), और सापेक्ष प्रभावों को अनदेखा करें। इस समस्या के लिए, आप मान सकते हैं कि पृथ्वी सपाट है (आपको अपनी गणना करते समय पृथ्वी की वक्रता पर विचार करने की आवश्यकता नहीं होगी)। दिए गए कोण सीमा में होंगे [0, 90]
। आपका उत्तर कम से कम दो दशमलव स्थानों पर होना चाहिए (गोलाई की अनुमति है)।
उदाहरण:
velocity=50, angle=45
Result: 254.84 (rounded)
velocity=10, angle=60
Result: 8.82798576742547
कार्य 4: etaoin shrdlu
गैर-अशुल मुद्रण योग्य ASCII वर्णों (श्रेणी में अध्यादेशों [32,127]
) की एक स्ट्रिंग को देखते हुए, स्ट्रिंग का उत्पादन करते हैं, इसके वर्णों को अवरोही क्रम में उनकी आवृत्तियों द्वारा क्रमबद्ध किया जाता है। एक टाई के मामले में, ASCII अध्यादेश, आरोही द्वारा आदेश।
उदाहरण:
Input: "Hello, World!"
Output: "llloo !,HWder"
Input: "Programming Puzzles and Code Golf"
Output: " oooPPaaddeeggllmmnnrrzzCGfisu"
कार्य 5: फाइबोनैचि सूचकांक
एक संख्या को देखते हुए, यह निर्धारित करें कि क्या यह एक फाइबोनैचि संख्या है, और यदि यह है, तो अनुक्रम में इसका सूचकांक (1 से शुरू) आउटपुट करें। यदि यह फाइबोनैचि संख्या नहीं है, तो आउटपुट 0. 1 के मामले में, जो दो बार अनुक्रम में है, जल्द से जल्द घटना (इंडेक्स 1) का उत्पादन करता है।
उदाहरण:
Input: 1
Output: 1
Input: 144
Output: 12
Input: 4
Output: 0
टास्क 6: एनाग्रम्स
लोअरकेस अंग्रेजी अक्षरों के तीन स्ट्रिंग्स को देखते हुए ( [a-z]
), एक स्ट्रिंग को आउटपुट करता है जो पहली स्ट्रिंग में सभी अक्षरों का उपयोग करता है, दूसरे स्ट्रिंग से शुरू होता है, और तीसरे स्ट्रिंग के साथ समाप्त होता है। यदि ऐसी स्ट्रिंग का निर्माण नहीं किया जा सकता है, तो एक रिक्त स्ट्रिंग का उत्पादन करें। इनपुट तार हमेशा कम से कम एक अक्षर लंबा होगा। आउटपुट स्ट्रिंग (प्रीफिक्स और पोस्टफ़िक्स स्ट्रिंग के बीच) का "मध्य" खाली हो सकता है, यदि प्रीफ़िक्स और पोस्टफ़िक्स स्ट्रिंग एक साथ स्रोत स्ट्रिंग के सभी अक्षरों का उपयोग करते हैं।
उदाहरण:
Input: geobits bi es
Possible output: bigtoes
Input: mariatidaltug digital trauma
Output: digitaltrauma
Input: mego go lf
Output: (empty string)
टास्क 7: ब्लैंक्स में भरना
स्ट्रिंग्स और एक भरण चरित्र की एक सूची को देखते हुए, भरण वर्ण के साथ सबसे लंबे स्ट्रिंग की लंबाई तक सभी तारों को पैडिंग करने का परिणाम है, स्ट्रिंग्स की मूल लंबाई द्वारा आरोही क्रम में सॉर्ट किया गया, मामले में मूल क्रम को संरक्षित करना एक टाई की। आप किसी भी परिमित लंबाई की सूची को संभालने में सक्षम होना चाहिए, किसी भी परिमित लंबाई के तार, केवल स्मृति बाधाओं से घिरा हुआ है।
उदाहरण:
Input: ["hello","world","this","is","a","test"], 'x'
Output: ["axxxx","isxxx","thisx","testx","hello","world"]
Input: ["I'm","a","lumberjack","and","I'm","okay"], '!'
Output: ["a!!!!!!!!!","I'm!!!!!!!","and!!!!!!!","I'm!!!!!!!","okay!!!!!!","lumberjack"]
कार्य 8: परिवर्तन करना
सीमा में एक संख्या को देखते हुए [0.01,0.99]
, 4 मानक अमेरिकी सिक्कों में से प्रत्येक की संख्या का उत्पादन किया जाता है जो इस मूल्य का प्रतिनिधित्व करने के लिए उपयोग किया जाना चाहिए जैसे कि सिक्कों की कुल संख्या कम से कम। इनपुट में दशमलव के पीछे हमेशा 2 स्थान होंगे।
सिक्का मूल्य संदर्भ:
Penny: 0.01, Nickel: 0.05, Dime: 0.10, Quarter: 0.25
उदाहरण:
Input: 0.75
Output: [0,0,0,3]
Input: 0.23
Output: 3 pennies, 0 nickels, 2 dimes, 0 quarters
टास्क 9: मर्जिंग रेंज्स
2-ट्यूपल की एक सीमित सूची को देखते हुए पूर्णांक जो कि श्रेणियों का प्रतिनिधित्व करते हैं, सभी अतिव्यापी या आसन्न श्रेणियों के विलय का परिणाम है। सभी रेंज कम से कम 1 लंबाई की होंगी, और शुरुआती मूल्य हमेशा समाप्त होने वाले मूल्य से कम होगा। आउटपुट का क्रम मायने नहीं रखता।
उदाहरण:
Input: (2,3), (4,5), (6,9), (0,7)
Output: (0,9)
Input: (-3,4), (2,5), (-10,-4)
Output (-10,-4), (-3,5)
Input: (2,3), (5,6), (6,8)
Output: (5,8), (2,3)
नियम
- यह कोड-गोल्फ है , इसलिए सबसे छोटा उत्तर (बाइट्स में) जीतता है।
- आपका स्कोर आपके सभी समाधानों के लिए बाइट काउंट का योग होगा।
- मानक खामियों को मना किया जाता है।
- इनपुट और आउटपुट आपकी भाषा के लिए मानक माना जाता है।
- आप प्रत्येक चुनौती के लिए पूर्ण कार्यक्रम या कार्य लिख सकते हैं, और दोनों चुनौतियों के बीच आदान-प्रदान कर सकते हैं।
- आपको सभी चुनौतियों के लिए एक ही भाषा का उपयोग करना चाहिए। यदि संस्करण अंतर उनके लिए पर्याप्त रूप से महत्वपूर्ण हैं, तो आमतौर पर चुनौतियों में अलग-अलग प्रविष्टियों को माना जाता है, तो आपको पूरे संस्करण में एक ही संस्करण का उपयोग करना चाहिए। उदाहरण के लिए, यदि आप पायथन का उपयोग करते हैं, तो आपको सभी चुनौतियों के लिए पायथन 2 या पायथन 3 का उपयोग करना चाहिए।
- आपको सभी चुनौतियों का समाधान करना चाहिए। उत्तर जो केवल कुछ चुनौतियों को हल करते हैं उन्हें गैर-प्रतिस्पर्धी माना जाएगा।
- आप भाषा के निर्माण या मानक पुस्तकालयों का उपयोग कर सकते हैं।
लीडरबोर्ड
इस पोस्ट के निचले हिस्से में स्टैक स्निपेट उत्तर से लीडरबोर्ड उत्पन्न करता है) ए प्रति भाषा में सबसे छोटे समाधान की सूची के रूप में और बी) एक समग्र लीडरबोर्ड के रूप में।
यह सुनिश्चित करने के लिए कि आपका उत्तर दिख रहा है, कृपया अपना उत्तर शीर्षक मार्कडाउन टेम्पलेट का उपयोग करके शीर्षक के साथ शुरू करें:
## Language Name, N bytes
N
आपके सबमिशन का आकार कहां है। यदि आप अपने स्कोर में सुधार करते हैं, तो आप पुराने अंकों को हेडलाइन में रख सकते हैं , उनके माध्यम से स्ट्राइक करके। उदाहरण के लिए:
## Ruby, <s>104</s> <s>101</s> 96 bytes
यदि आप अपने हेडर में कई संख्याओं को शामिल करना चाहते हैं (जैसे कि आपका स्कोर दो फ़ाइलों का योग है या आप दुभाषिया ध्वज दंड को अलग से सूचीबद्ध करना चाहते हैं), तो सुनिश्चित करें कि हेडर में वास्तविक अंक अंतिम संख्या है:
## Perl, 43 + 2 (-p flag) = 45 bytes
आप भाषा के नाम को एक लिंक भी बना सकते हैं जो बाद में स्निपेट में दिखाई देगा:
## [><>](http://esolangs.org/wiki/Fish), 121 bytes