(หมายเหตุ: แม้ว่าจะเกี่ยวข้องกัน แต่ความท้าทายนี้ไม่ได้ซ้ำกับสิ่งนี้เพราะมันต้องมีการกำหนดวินาทีกระโดดโดยอัตโนมัติมากกว่าการเข้ารหัสเวลาของพวกเขาและไม่ได้ซ้ำกันของมันเพราะความยากลำบากส่วนใหญ่มาจากการกำหนดเวลาโดยไม่เผ่นวินาที สิ่งที่ API เวลาส่วนใหญ่ไม่ได้ทำตามค่าเริ่มต้นดังนั้นโซลูชันมีแนวโน้มที่จะดูแตกต่างจากโซลูชันไปยังความท้าทายเหล่านั้น)
เรากำลังจะมาถึงปลายปี 2016 แต่จะใช้เวลานานกว่าที่คนส่วนใหญ่คาดหวังเล็กน้อย ดังนั้นนี่คือความท้าทายในการฉลองวินาทีพิเศษของเราในปีนี้
แสดงเวลาปัจจุบันใน UTC เป็นชั่วโมงนาทีวินาที (ตัวอย่างเช่นรูปแบบเอาต์พุตที่ถูกต้องสำหรับเที่ยงวันจะรวมถึง12:00:00
และ[12,0,0]
การจัดรูปแบบไม่ได้มีความสำคัญอย่างยิ่งที่นี่)
อย่างไรก็ตามมีการบิดโปรแกรมของคุณต้องจัดการกับวินาทีกระโดดอย่างเหมาะสมทั้งในอดีตและอนาคต ซึ่งหมายความว่าโปรแกรมของคุณจะต้องรับรายการวินาทีกระโดดจากแหล่งข้อมูลออนไลน์หรืออัพเดต / อัปเดตอัตโนมัติ คุณสามารถเชื่อมต่ออินเทอร์เน็ตเพื่อขอรับสิ่งนี้หากคุณต้องการ อย่างไรก็ตามคุณสามารถเชื่อมต่อกับ URL ที่มีมาก่อนความท้าทายนี้ (เช่นไม่มีการดาวน์โหลดบางส่วนของโปรแกรมของคุณจากที่อื่น) และคุณไม่สามารถใช้การเชื่อมต่อเพื่อกำหนดเวลาปัจจุบันได้ (โดยเฉพาะ: โปรแกรมของคุณจะต้องทำงาน อินเทอร์เน็ตจะแสดงหน้าเว็บที่เก่าถึง 24 ชั่วโมง)
API เริ่มต้นของระบบปฏิบัติการส่วนใหญ่สำหรับเวลาปัจจุบันจะเอียงเวลาประมาณวินาทีกระโดดเพื่อซ่อนพวกเขาจากโปรแกรมที่อาจสับสน ดังนั้นปัญหาหลักของความท้าทายนี้คือการหาวิธีการหรือ API เพื่อเลิกทำเช่นนั้นและหาเวลาปัจจุบันที่ไม่มีการแก้ไขจริงใน UTC
ในทางทฤษฎีแล้วโปรแกรมของคุณควรมีความแม่นยำอย่างสมบูรณ์แบบหากมันทำงานบนคอมพิวเตอร์ที่เร็วและไม่มีค่าใช้จ่าย (แน่นอนว่าในทางปฏิบัติโปรแกรมของคุณจะทำงานบนคอมพิวเตอร์ที่ไม่สมบูรณ์ดังนั้นอาจไม่ทำงานทันทีคุณไม่ต้องกังวลกับผลการตรวจสอบที่ไม่ถูกต้อง แต่จะต้องไม่ขึ้นอยู่กับความถูกต้องของโปรแกรมของคุณ )
โปรแกรมของคุณจะต้องทำงานโดยไม่คำนึงถึงเขตเวลาที่นาฬิการะบบตั้งไว้เป็น (อย่างไรก็ตามอาจขอข้อมูลจากระบบปฏิบัติการหรือสภาพแวดล้อมว่ามีการใช้เขตเวลาใดและอาจคิดว่าคำตอบนั้นถูกต้อง)
ในฐานะที่เป็น รหัสกอล์ฟโปรแกรมที่สั้นที่สุดชนะ โชคดี!