Time Limit: 1s
Memory Limit: 128MB
평소에 친구와의 약속을 자주 까먹어버리는 철수는 왜 자기가 약속을 자주 까먹는지 고민하던 끝에, 그 원인을 찾아냈다. 친구가 10일 후에 만나자고 약속을 하면, 10일 후가 언제인지 달력에서 확인해보지 않고 그냥 10일 후인가보다 하고 넘어가다가 그 날짜를 놓치는 것이었다. 근데 철수는 자기가 직접 달력을 보면서 10일 후를 확인하는 것조차 너무 귀찮았기 때문에 이런 일을 자동으로 해주는 프로그램을 만들기로 마음먹었다.
그리고 이왕 만드는 김에 좀 더 다양한 기능을 넣어보기로 했다. 아... 철수가 이런 이상한 생각만 안 했어도 여러분들의 코딩 시험문제는 더 쉬워졌을텐데.
일단 오늘의 날짜를 입력받고, 아래와 같은 명령어를 입력하면 다음과 같은 작동을 하도록 프로그램을 만들기로 했다.
여기까지 생각을 하던 철수는 코드를 짜기가 귀찮아져서 친구인 당신보고 만들라고 시켰다. 이런 못된 친구 철수를 위해 프로그램을 작성해보자.
윤년 또한 고려해야한다. 4로 나누어 떨어지는 해[ex]2016, 2000]에는 2월이 29일이고, 4의 배수가 아닌 해[ex]1997, 2015]에는 2월이 28일로 적용된다. 문제의 편의성을 위해 이 윤년계산법 외의 다른 계산법은 무시하도록 한다.
Line 1 : 날짜 년/월/일/요일(yyyy/mm/dd/요일)
(월–mon, 화–tue, 수–wed, 목–thu, 금–fri, 토–sat, 일-sun)
Line 2~N : 명령어
tommorow – 내일 날짜
nday X - X일 후의 날짜
dday yyyy/mm/dd – 입력된 날짜까지 남은 일 또는 해당 날짜로부터 지난 일
(D-day가 입력된 날짜보다 나중에 오면 양수로, D-day가 입력된 날짜를 이미 지났으면 음수로 표현한다.)
각각의 명령어에 맞는 결과
2015/06/10 tomorrow nday 10 nday 25 2015/06/15 2015/07/18 2015/06/01
2015/06/11/thu 2015/06/20/sat 2015/07/05/sun 5 38 -9