이 과제를 해결하기 위해해야 할 일은 주어진 Unix 타임 스탬프 와 스크립트 실행 시간 사이에 수십, 년, 주, 일, 시간, 분 및 초를 출력하는 가장 짧은 "timeago"스크립트를 작성하는 것입니다.
"가장 낮은 용어"로 시차를 제공해야합니다 (예 : 1 week
not 7 days
, 9 years
not) 0 decades 9 years
. 또한 복수형을 올바르게 사용해야합니다 (예 : 1 day
not) 1 days
.
스크립트는 플러스 또는 마이너스 1 초 이내에 정확해야합니다 (따라서 정확한 두 번째 반올림 방법은 중요하지 않습니다).
Time Equivalency Table
1 decade = 10 years
1 year = 31536000 seconds (not technically correct but close enough)
1 week = 7 days
1 day = 24 hours
1 hour = 60 minutes
1 minute = 60 seconds
출력 형식이어야합니다
A decade(s) B year(s) C week(s) D day(s) E hour(s) F minute(s) G second(s)
A...G
음이 아닌 정수는 모두 어디에 있고 s
복수에만 있습니다.
노트
- 타임 스탬프는 항상 과거의 시간입니다. 부정적 일 수 있습니다.
- 입력 및 출력은 stdin / stdout, 함수 입력 및 반환 값 등 합리적인 것이 될 수 있습니다.
- 이미이 작업을 수행하는 도구를 사용할 수 없습니다. 즉, 언어에
timesince(timestamp)
내장 된 기능 이있는 경우 해당 기능을 사용할 수 없습니다.
불분명 한 질문을 가진 신규 사용자와 완벽을 필요로하는 기존 사용자 사이의 다소 어리석은 싸움을하기 위해이를 명확하게하기 위해 이것을 크게 편집했습니다. 끔찍한 질문은 아니었지만 (지금은 이것 과 너무 비슷할 수 있습니다 ).
충분한 시간이 마지막 대답이 경과되는 것을 감안할 때, 나는 선언 세 가지 경우에 의해 위스키를 그와 177 바이트 루비 구현이 문맥의 승자!