Advent of Code 2025
(adventofcode.com)- Advent of Code विभिन्न स्तरों के प्रोग्रामरों के लिए एक programming puzzle advent calendar है, जिसे किसी भी भाषा में हल किया जा सकता है
- प्रतिभागी इसे इंटरव्यू तैयारी, corporate training, university assignments, practice problems, speed competition आदि कई उद्देश्यों के लिए इस्तेमाल कर सकते हैं
- इसमें भाग लेने के लिए computer science की डिग्री जरूरी नहीं है, और समस्याएँ ऐसी बनाई गई हैं कि 10 साल पुराने कंप्यूटर पर भी 15 सेकंड के भीतर चल सकें
- साइट OAuth authentication, high contrast mode, private leaderboards, code block selection जैसी सुविधाएँ सपोर्ट करती है
- global leaderboard को stress और cheating की समस्याओं के कारण हटा दिया गया है, और अब प्रतिभागी-केंद्रित, मज़ेदार problem-solving experience पर ज़ोर है
Advent of Code का परिचय
- Advent of Code, Eric Wastl द्वारा बनाया गया एक वार्षिक programming puzzle event है, जो हर साल 1 दिसंबर से शुरू होने वाले online advent calendar format में puzzles उपलब्ध कराता है
- प्रतिभागी हर दिन एक नई समस्या हल करते हैं, और किसी भी भाषा में स्वतंत्र रूप से समाधान लिख सकते हैं
- इन समस्याओं का उपयोग इंटरव्यू तैयारी, शिक्षा, अभ्यास, competition, mutual challenges जैसे कई उद्देश्यों के लिए किया जाता है
- इसमें भाग लेने के लिए computer science की औपचारिक पढ़ाई जरूरी नहीं है; बुनियादी programming और problem-solving skills काफ़ी हैं
- सभी समस्याएँ 10 साल पुराने hardware पर भी 15 सेकंड के भीतर पूरी होने के लिए बनाई गई हैं
भागीदारी और समर्थन का तरीका
- Advent of Code को सपोर्ट करने के लिए इसे Bluesky, Twitter, Mastodon आदि पर साझा किया जा सकता है, या AoC++ के माध्यम से सीधे समर्थन दिया जा सकता है
- यदि समस्या हल करते समय अटक जाएँ, तो sample input जाँचना, test cases लिखना, दोस्तों से मदद माँगना, subreddit पर hints लेना जैसी विधियाँ सुझाई जाती हैं
सामान्य टिप्स (General Tips)
- यदि sample input और output मेल नहीं खाते, तो समस्या विवरण को फिर से पढ़ें और अपने code के व्यवहार की जाँच करें
- sample पास होने के बाद भी उत्तर गलत हो, तो ऐसे test cases बनाएँ जिन्हें हाथ से verify किया जा सके
- फिर भी समाधान कठिन लगे, तो थोड़ा विराम लेकर दोबारा कोशिश करें या community से सवाल पूछें
अक्सर पूछे जाने वाले सवाल (FAQ)
- Code block selection: JavaScript enabled होने पर triple click से पूरा block चुना जा सकता है
- Authentication method: OAuth का उपयोग करके Reddit, GitHub जैसी बाहरी सेवाओं से login किया जाता है, और credentials केवल उन्हीं सेवाओं को भेजे जाते हैं
- Advent of Code केवल उपयोगकर्ता का ID, नाम, URL, image ही संग्रहीत करता है
- Difficulty changes: event के दौरान कठिनाई धीरे-धीरे बढ़ती है, और महसूस की जाने वाली कठिनाई व्यक्ति के skill level पर निर्भर करती है
- Puzzle release time: puzzles U.S. Eastern Standard Time (UTC-5) की आधी रात में जारी होते हैं, क्योंकि यह आयोजक के लिए प्रबंधनीय time zone है
- यदि आप competition चाहते हैं, तो private leaderboards के ज़रिए अपने क्षेत्र के अनुसार प्रतिस्पर्धा कर सकते हैं
- Readability issues: high contrast mode सपोर्ट किया जाता है, और Firefox में इसे default रूप से सक्षम किया जा सकता है
- Puzzle suggestions not accepted: copyright कारणों से बाहरी puzzle ideas स्वीकार नहीं किए जाते
- Bug reports: puzzle जारी होने के 1 घंटे से अधिक समय बीत जाने पर आमतौर पर कई उपयोगकर्ता उसे हल कर चुके होते हैं, इसलिए bug होने की संभावना कम मानी जाती है
- समस्या होने पर पहले subreddit में जाँच करने की सलाह दी जाती है
- Speed competition: यदि आप तेज़ी से हल करना चाहते हैं, तो अतिरिक्त practice और skills की ज़रूरत होगी, लेकिन अपने लक्ष्य के अनुसार भाग लेना अधिक महत्वपूर्ण है
- Event duration change: 10 साल तक एक जैसा schedule रखने के बाद, आयोजक के समय के दबाव को कम करने के लिए इसे महीने के मध्य में समाप्त करने के रूप में बदला गया
- Global leaderboard removal: अत्यधिक competition, DDoS attacks, और user stress जैसी समस्याओं के कारण 10 साल बाद इसे हटा दिया गया
- इसके बजाय read-only private leaderboard sharing feature दिया गया है
- AI usage: puzzles का उद्देश्य मानव की सोचने की क्षमता को बेहतर बनाना है, इसलिए AI का उपयोग अनुशंसित नहीं है
- इसे इस उदाहरण से समझाया गया है: “अगर व्यायाम कोई और कर दे, तो आप मज़बूत नहीं बनते”
- Content copying prohibited: Advent of Code मुफ्त में इस्तेमाल किया जा सकता है, लेकिन puzzle text या input data की नकल करना मना है
- वेबसाइट के design या नाम की नकल करना भी प्रतिबंधित है
श्रेय (Credits)
- Puzzles, code, design: Eric Wastl
- Beta testing: Ben Lucek, JP Burke, Aneurysm9, Andrew Skalski
- Community managers: Danielle Lucek, Aneurysm9
- Participants: सभी उपयोगकर्ता
कानूनी सूचना (Legal)
- Advent of Code एक U.S.-registered trademark है, और इसका design, language, style, concept पूरी तरह स्वामित्व वाली संपत्ति हैं
- स्पष्ट लिखित अनुमति के बिना इनकी नकल या उपयोग नहीं किया जा सकता
- puzzles के लिए link या उद्धरण देना स्वतंत्र रूप से संभव है, और commercial context में भी अनुमति है
- Advent of Code प्रतिभागियों के solution code पर copyright claim नहीं करता
2 टिप्पणियां
मैंने पिछले साल भी थोड़ा हिस्सा लिया था... सच में एक साल पलक झपकते निकल जाता है T_T
Hacker News राय
जब भी मैं यह सुनता हूँ कि इसमें computer science की पृष्ठभूमि के बिना भी भाग लिया जा सकता है, मुझे लगता है कि यह वास्तव में hobby programmers के लिए निराशाजनक हो सकता है
अगर “काफ़ी आगे तक जा सकते हैं” का मतलब 1–2 आसान समस्याएँ हल करना है, तो यह सही है, लेकिन उससे आगे आसान नहीं है
Advent of Code हर साल दिसंबर का हाइलाइट होता है
global leaderboard का हटना अफ़सोसजनक है, लेकिन समझ में आता है। इस साल सिर्फ़ 12 दिन चलना भी अच्छा है क्योंकि इससे दबाव कम होता है
“जीतने” की कोशिश मत करो, बस problem solving का मज़ा लो
मुझे Advent of Code सच में बहुत पसंद है
इस साल सिर्फ़ 12 दिन चलना उल्टा स्वागतयोग्य है। साल के अंत में असल ज़िंदगी के काम बहुत होते हैं, इसलिए पिछले साल मैं लगभग आधा ही कर पाया था
इसमें हिस्सा लेने वालों को बहुत धन्यवाद
मैंने इस साल पहली बार Advent of Code किया, और यह सच में मज़ेदार था
यह Project Euler जैसा है, लेकिन गणित से ज़्यादा programming-केंद्रित है
Part 1 सरल होता है, लेकिन Part 2 में optimized approach चाहिए होती है, इसलिए यह दिलचस्प लगता है
public leaderboard हटाना तर्कसंगत था
LLM की समस्या से अलग भी, कुछ अमेरिकी time zones के बाहर प्रतिस्पर्धा करना लगभग असंभव था
उसकी जगह दुनिया भर में time zone के हिसाब से solve rate जैसी statistics देखना दिलचस्प होगा
YouTube पर live coding videos देखना भी मज़ेदार था
मैं हर साल Advent of Code का इंतज़ार करता हूँ
leaderboard के तनाव के बिना, मैं इसे नई language सीखने या skills को निखारने का मौका मानता हूँ
रोज़मर्रा में मुझे अपने प्रोजेक्ट bootstrap करने या DFS implement करने की ज़रूरत नहीं पड़ती, इसलिए ऐसे events अच्छी practice हैं
इसलिए आम दिनों में testing और documentation जैसे कामों से संतुलन बना रहता है
हर साल मैं पुराने solutions को थोड़ा-थोड़ा बेहतर बनाते हुए efficiency और readability बढ़ाने की practice करता हूँ
इस साल भी Advent of Code होने से खुशी है
FAQ पढ़ते समय input data को public न करने वाला नियम मुझे पूरी तरह समझ नहीं आया
puzzle text तक तो बात समझ में आती है, लेकिन inputs भी private हों, यह थोड़ा अफ़सोसजनक है। फिर भी, यह मुफ़्त में मिलता है, इसलिए मैं इसका सम्मान करता हूँ
language survey: Python और C++ सबसे ज़्यादा इस्तेमाल होते हैं, लेकिन कम प्रचलित भाषाओं में भी कुछ ऐसी हैं जो AoC के लिए अच्छी बैठती हैं
कौन-सी language अच्छी है, यह साझा करने का सुझाव है
मज़ाक में कह रहा हूँ, लेकिन कभी-कभी Game Boy के ASM में भी हल करने की कोशिश करता हूँ। असल में Clojure या Python इस्तेमाल करता हूँ
इस साल मैं bytecode compiler बना रहा हूँ। leaderboard के लिए Go इस्तेमाल करता हूँ, और compile speed की वजह से 2022 Day19 में पहला स्थान लिया था
उदाहरण के लिए, infinite list बनाकर शर्त पूरी होने तक उसे iterate करते हुए समाधान किया जा सकता है
each_cons,permutation,primeजैसी methods AoC में उपयोगी हैंअगर पहले से 2D grid या parser utilities तैयार हों, तो काम काफ़ी ज़्यादा efficient हो जाता है
इस साल assembly (fasm) में चुनौती लेने का सोच रहा हूँ
यह मज़ेदार भी हो सकता है और तकलीफ़देह भी, लेकिन जो भी हो, यह सीखने की प्रक्रिया है
लगता है पिछले साल के AI automation boom के बाद leaderboard हट गया
अफ़सोस है, लेकिन यह अपरिहार्य फ़ैसला लगता है
वैसे भी प्रतिस्पर्धा मुश्किल थी, इसलिए global leaderboard का मेरे लिए ज़्यादा मतलब नहीं था