[WEEKLYCALENDAR]문제 오답원인을 모르겠습니다.

  • opteron120
    opteron120

    예외란 예외는 다 넣어봤는데 뭐가 원인인지 모르겠네요.
    월 넘어가는거랑 연도 넘어가는거 다 해봤지만 도대체 모르겠습니다

    int num_days(char* str)
    {
    int day_num;

    if (!strcmp(str, "Sunday"))
        day_num = 0;
    if (!strcmp(str, "Monday"))
        day_num = 1;
    if (!strcmp(str, "Tuesday"))
        day_num = 2;
    if (!strcmp(str, "Wednesday"))
        day_num = 3;
    if (!strcmp(str, "Thursday"))
        day_num = 4;
    if (!strcmp(str, "Friday"))
        day_num = 5;
    if (!strcmp(str, "Saturday"))
        day_num = 6;
    
    return day_num;

    }

    int main(void)
    {
    int T, month, day, i, back, weeks[7];
    char days[15];
    int last_day[13] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
    scanf("%d", &T);

    while (T--){
        scanf("%d %d %s", &month, &day, days);
        back = num_days(days);
    
        for (i = 0; i < back; i++){
            if (day == 0){
                if (month == 1)
                    month = 13;
                day = last_day[month - 1];
                month--;
            }
            day--;
        }
        if (day == 0)
            day = last_day[month - 1];
    
        for (i = 0; i < 7; i++){
            weeks[i] = day;
            if (day == last_day[month])
                day = 0;
            day++;
        }
        printf("%d %d %d %d %d %d %d\n", weeks[0], weeks[1], weeks[2], weeks[3], weeks[4], weeks[5], weeks[6]);
    }
    
    return 0;

    }


    9년 전
2개의 댓글이 있습니다.
  • Beginner
    Beginner

    12 1 Monday 가 다르게 나오는 것 같습니다.


    9년 전 link
  • opteron120
    opteron120

    감사합니다! 이걸 왜 못찾았는지 모르겠네요..;;


    9년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.