(참고 : 관련 있지만,이 도전의 중복없는 이 일 이 자신의 시간을 자동으로 윤초를 결정하기보다는 하드 코딩이 필요하기 때문에, 그리고 중복되지 않습니다 이 하나의 어려움의 대부분은 윤초의 기울임없이 시간을 결정에서 오기 때문에 , 대부분의 시간에 API가 기본적으로하지 않는 것이므로 솔루션은 솔루션마다 문제가 다르게 보일 수 있습니다.)
2016 년 말에 출시 될 예정이지만 대부분의 사람들이 예상하는 것보다 약간 더 오래 걸립니다. 올해 초 초를 축하하는 도전이 있습니다.
현재 시간을 UTC,시, 분, 초로 출력합니다. 예를 들어 정오의 합법적 인 출력 형식에는 12:00:00
및 이 포함 되며 [12,0,0]
형식은 그다지 중요하지 않습니다.
그러나 비틀림이 있습니다. 프로그램은 과거와 미래의 윤초를 적절히 처리해야합니다 . 즉, 프로그램은 온라인 또는 자동 업데이트 / 업데이트 가능한 소스에서 윤초 목록을 가져와야합니다. 원하는 경우 인터넷에 연결하여이 정보를 얻을 수 있습니다. 그러나이 과제보다 오래된 URL에만 연결할 수 있습니다 (예 : 다른 부분에서 프로그램의 일부를 다운로드하지 않음). 현재 시간을 결정하기 위해 연결을 사용할 수 없습니다 (특히 : 액세스하려는 경우에도 프로그램이 작동해야 함) 인터넷은 최대 24 시간이 지난 페이지를 반환합니다).
현재 시간에 대한 대부분의 운영 체제 기본 API는 다른 방법으로 혼동 될 수있는 프로그램에서 숨기기 위해 윤초 단위로 시간을 기울입니다. 따라서이 문제의 주된 어려움은이를 취소 할 수있는 메서드 나 API를 찾아 UTC로 수정되지 않은 실제 시간을 계산하는 것입니다.
이론적으로 프로그램은 무한히 빠른 컴퓨터에서 실행되는 경우 완벽하게 정확해야하며 의도적으로 실행하는 데 0 시간 이상 걸리지 않아야합니다. (실제로 프로그램은 불완전한 컴퓨터에서 실행되므로 즉시 실행되지 않을 것입니다. 결과 무효화에 대해 걱정할 필요는 없지만 프로그램의 정확성을 위해 프로그램에 의존해서는 안됩니다. )
시스템 시계가 설정된 시간대에 관계없이 프로그램이 작동해야합니다. 그러나 운영 체제 또는 환경에 사용중인 시간대에 대한 정보를 요청할 수 있으며 회신이 정확하다고 가정 할 수 있습니다.
로 코드 골프가장 짧은 프로그램이 이깁니다. 행운을 빕니다!