이 비디오 에 따르면 태양 년은 365 일, 5 시간, 48 분, 45 초 및 138 밀리 초 입니다. 현재 그레고리력으로 윤년의 규칙은 다음과 같습니다.
if year is divisible by 400, LEAP YEAR
else if year is divisible by 100, COMMON YEAR
else if year is divisible by 4, LEAP YEAR
else, COMMON YEAR
불행히도이 방법은 3216 년마다 하루 씩 중단됩니다.
일정을 수정하는 한 가지 가능한 방법은 다음 규칙입니다.
if year is divisible by 128, COMMON YEAR
else if year is divisible by 4, LEAP YEAR
else, COMMON YEAR
이로 인해 625,000 년 동안 일정을 다시 바꾸거나 줄 필요가 없다는 이점이 있습니다.
전 세계가 지금부터 4 년마다이 시스템을 128 년을 제외한 윤년으로 결정하여 달력을 다음과 같이 변경한다고 가정 해 봅시다.
YEAR GREGORIAN 128-YEAR
2044 LEAP LEAP
2048 LEAP COMMON
2052 LEAP LEAP
...
2096 LEAP LEAP
2100 COMMON LEAP
2104 LEAP LEAP
...
2296 LEAP LEAP
2300 COMMON LEAP
2304 LEAP COMMON
2308 LEAP LEAP
이것이 요일 알고리즘에 어떤 영향을 미칩니 까?
도전
- 2000 년부터 100000 년까지의 날짜가 주어지면이 새 달력에서 요일을 찾으십시오.
- 사용중인 형식을 명확하게 지정하는 한 모든 입력 및 출력 형식이 허용됩니다.
- 이것은 코드 골프이므로 가능한 한 골프 솔루션을 만들어보십시오!
테스트 사례
"28 February 2048" -> "Friday"
"March 1, 2048" -> "Sat"
(2100, 2, 29) -> 0 # 0-indexed with Sunday as 0
"2100-02-29" -> 7 # 1-indexed with Sunday as 7
"28 Feb. 2176" -> "Wednesday"
"1-Mar-2176" -> "Th"
"28/02/100000" -> "F" # DD/MM/YYYYYY
"Feb. 29, 100000" -> 6 # 1-indexed with Sunday as 7
"03/01/100000" -> 1 # MM/DD/YYYYYY and 1-indexed with Sunday as 1
도전 과제에 대한 제안과 피드백을 환영합니다. 행운과 좋은 골프!