나는 최근에 나와 내 아내와 아이들의 나이를 더하고 있었고, 그렇게 멀지 않은 미래의 어느 시점에서 우리 나이는 모두 정확히 100 년까지 늘어날 것이라는 것을 깨달았습니다.
도전
결합 된 (총) 연령과 생년월일 목록으로 구성된 입력의 경우 결합 된 연령이 모두 주어진 합계에 합산 된 날짜를 출력하십시오.
- 입력 결합 연령 (년)은 양의 정수입니다.
- 생년월일 입력 목록은 일, 월 및 연도의 숫자 표현을 포함해야하는 날짜 (언어에 편리한 형식) 목록입니다. 특정 에포크 (epoch) 이후의 일수는 허용되지 않습니다. 입력 날짜 목록이 시간순으로 정렬되어 있다고 가정 할 수 있습니다.
- 출력은 입력 날짜와 동일한 형식의 단일 날짜입니다.
- 결합 연령의 경우 1 년은 정확히 365.25 일로 간주됩니다.
- 일부 입력의 경우, 모든 생년월일이 모두 합쳐진 연령에 합산되면 모든 생년월일 이후의 날짜를 찾는 것은 불가능합니다. 예를 들어 20 년 간격 인 두 개의 생년월일을 고려하지만 10 년의 결합 날짜를 원합니다. 이 경우 출력은 더 높은 생년월일의 10 번째 생일이됩니다. 다시 말해, 개별 연령은 해당 개인의 생년월일 이전의 모든 날짜에 대해 0으로 간주됩니다
- 출력은 결합 연령 이 입력 연령 이상으로 합산 된 첫 번째 날짜입니다.
- 내장 날짜-시간 함수를 사용할 수 있습니다
- 1970/01/01까지 거슬러 올라가는 날짜를 지원해야합니다.
예
여기서는 모든 날짜를 YYYY / MM / DD 형식으로 제공하지만 원하는 형식을 사용할 수 있습니다.
Input Output
10 2000/01/01 2010/01/01
100 1975/03/05,1978/07/23,2008/11/12,2012/12/20 2018/11/22
100 1975/03/06,1978/07/23,2008/11/12,2012/12/20 2018/11/23
100 1975/03/09,1978/07/23,2008/11/12,2012/12/20 2018/11/23
100 1975/03/10,1978/07/23,2008/11/12,2012/12/20 2018/11/24
3 1990/08/01,1995/07/02 1993/08/01
50 1975/03/05,1978/07/23,2008/11/12,2012/12/20 2001/11/13
마지막 두 예에서 출력 날짜는 규칙 5에 따라 입력 날짜 범위 내에 있습니다.
1
@TimmyD. 규칙 7은 규칙 일 수 있으므로 원하지 않는 경우 따를 필요가 없습니다. 날짜-시간 함수가 입력 날짜를 구문 분석하고 출력 날짜를 형식화하는 데 유용 할 것으로 생각됩니다. YMMV.
—
Digital Trauma
규칙 7은 5 월 규칙입니다. 이번 달 (및 다음 반년)에는 무시해도됩니다.
—
Martin Ender
현실적으로, 나는 가족이 생일마다 몇 년을 정수로 세고 일을 요약하지 않으려 고 생각합니다 (질문을 복잡하게하기 위해 0.25).
—
edc65
@ edc65 누가 현실이 PPCG 도전에 방해가 되었습니까? ;-)
—
Digital Trauma