2014년 7월 13일 일요일

2730 오늘은 OS 숙제 제출일

주어지는 두 날짜의 간격이 7일을 넘는지 안넘는지를 판단하는 문제이다.
단순한 날짜 계산 문제인데, 주의해야 할 점은
12월 말이나 1월 초에는 내년,작년 의 경우가 있다는 것과,
2월말에는 윤년이 낀다는 점이다.

내가 푼 방법은 time.h 헤더를 이용해서 타임스탬프를 구하여 푸는것이었는데,
이상하게 자꾸 틀렸다고 떴다.
나중에 알아낸 바로는 윈도우에선 time_t 자료형이 64비트 정수형인데, 리눅스에선 32비트를 사용해서 2038년이 지나가면 에러가 떠서 틀리는 것이었다.
그래서 꼼수로 윤년일 경우는 2000년, 아니면 2002 년을 기준으로 계산을 시켜서 풀었다.

역시 꼼수를 쓰는것은 그다지 바람직하지 못한것 같다..

소스

댓글 없음:

댓글 쓰기