오늘의 목표

아침 코드카타

언리얼 멀티플레이 3, 4 복습

언리얼 멀티플레이 4, 5 예습

 


 

코드카타

[문제] 2016년

 

시간 내에 못 품...

 

[내 풀이]

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

char* solution(int a, int b) {
    // 리턴할 값은 메모리를 동적 할당해주세요.
    char* answer = (char*)malloc(4 * sizeof(char));
    int answer_index = 0;
    // 흐른 일수 계산 -> 7로 나눴을 때 나머지로 판단하면 될 듯
    int month_days[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    char* days[7] = {"FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"};
    int days_past = 0;
    
    for (int i = 0; i < a; ++i)
    {
        days_past += month_days[i]; 
        
    }
    // 1월 2일부터 하루 지난걸로 카운팅하므로 -1 해줌
    --days_past;
    
    printf("days_past: %d\n", days_past);
    printf("days_past % 7: %d\n", days_past % 7);
    
    for(int i = 0; i < 4; ++i)
    {
        answer[i] = days[days_past%7][i];
        printf("answer[i]: %c\n", answer[i]);
    }
    
    answer[4] = '\0';
    
    
    return answer;
}

 

 

 

[개선점]

i 순환을 0~a로 돌면서 마지막에 해당하는 달의 전체 일수를 더해버리고 있었다. a-1로 바꾼 다음 b를 더해줘야 정확히 a월 b일의 지난 일수를 구할 수 있다.

 

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

char* solution(int a, int b) {
    // 리턴할 값은 메모리를 동적 할당해주세요.
    char* answer = (char*)malloc(4 * sizeof(char));
    int answer_index = 0;
    // 흐른 일수 계산 -> 7로 나눴을 때 나머지로 판단하면 될 듯
    int month_days[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    char* days[7] = {"FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"};
    int days_past = 0;
    
    for (int i = 0; i < a - 1; ++i)
    {
        days_past += month_days[i];     
    }
    
    // 1월 2일부터 하루 지난걸로 카운팅하므로 -1 해줌
    days_past += b - 1;
    
    printf("days_past: %d\n", days_past);
    printf("days_past % 7: %d\n", days_past % 7);
    
    for(int i = 0; i < 4; ++i)
    {
        answer[i] = days[days_past%7][i];
        printf("answer[i]: %c\n", answer[i]);
    }
    
    answer[4] = '\0';
    
    
    return answer;
}

'Unreal5 공부 > TIL' 카테고리의 다른 글

2026/06/16 TIL  (0) 2026.06.16
2026/06/15 TIL  (0) 2026.06.15
2026/06/10 TIL  (0) 2026.06.10
2026/06/05 TIL  (0) 2026.06.05
2026/06/04 TIL  (0) 2026.06.05

+ Recent posts