nohj0518   2년 전

현재 작성한 소스 코드는 파이썬의 datetime 모듈을 사용하여 문제에 접근한 방법입니다ㅠㅠ

1000년 이상 "gg" 출력에 관한 부분은 1000년 == 365242일 이라서

dday >= 365242가 True 이면 "gg"를 출력하도록 하였습니다. 

예제출력과 몇 가지 생각해본 테스트 케이스를 돌려본 후 코드 제출을 해보았고

코드를 제출했을땐 "틀렸습니다"로 뜹니다ㅠ

사실 맨 처음 문제에 접근하였던 방법은 datetime이라는 모듈을 사용하지 않고

this_year, this_month, this_day 에서

d_year, d_month, d_day까지 걸리는 년수, 개월 수, 일 수를 구하는 방법이었는데

위와 같이 예제출력과 몇 가지 생각해본 테스트 케이스를 돌려봤지만

"틀렸습니다"로만 뜹니다ㅠㅠ

예제출력 D-26으로 출력 되는 것은 모두 확인했고

다른 d-day계산을 해주는 웹 사이트에서 비교 대조하며

1년 1월 1일 ~ 600년 1월 1일

1년 1월 1일 - 1001년 1월 1일

1년 6월 6일 - 1001년 6월 6일

1년 6월 6일 - 1001년 6월 5일

2021년 5월 12일 - 2200년 5월 18일

등등...몇 가지 테스트 케이스를 돌려봤는데

모두 d-day 계산기와 똑같은 결과를 출력했으나 "틀렸습니다" 였어요

어떤 반례를 더 찾아봐야 하는지,,,

처음 접근 방식과 현재 datetime모듈을 사용하는 접근방식 중 어떤게 맞는 방법인지ㅠㅠ

도움을 주시면 감사하겠습니다,,, (- -) (_ _)

nohj0518   2년 전

감사합니다ㅠ.ㅠ

gg 출력 조건을 365243일로 바꿔 주니 맞았다고 나오네요ㅠㅠ!!

이 문제 제 수준에서 절대 못 풀 문제인 줄 알았더니ㅠㅠㅋㅋ

의외로 문제는 다른 곳에 있었네요!

도움 주셔서 감사합니다!!

(- -) (_ _)

ok123   1년 전

1년이 생각해보니 365일이 아니라 365.2422 일...

근데 어림잡아서니깐 365.2422xxxx라고 나오겠죠

정확히 말하면 1000년 이상이니깐 1000을 곱하면 365242.xxxx이 나옵니다. 

저도 같은 방식으로 풀었는데 이 숫자에서 막혔네요. 덕분에 풀고갑니다.

D-Day가 y+1000년 m월 d일과 같거나 늦다면

추가로 문제에서 위와 같이 나와서 헷갈릴 수 있는데

같다라는게 365242와 같다는게 아니라 365242.xxx와 같다라는 표현이기 때문에 365242.xxx는 없으므로 365243으로 쓰는게 맞습니다.

댓글을 작성하려면 로그인해야 합니다.