LeetCode - 1185. Day of the Week (C++)

조민수·2024년 11월 17일
0

LeetCode

목록 보기
65/68

Easy, ctime

RunTime : 0 ms / Memory : 7.53 MB


문제

Given a date, return the corresponding day of the week for that date.

The input is given as three integers representing the day, month and year respectively.

Return the answer as one of the following values {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}.


풀이

  • 처음엔 이게 무슨 문제인지 싶었는데, 생각해보니까 각 언어의 날짜 시간 관련 함수를 사용하라는 문제였다.
  • 최근 cpp로 문제를 좀 풀어보고 있어서 cppctime을 활용했다.
  1. #include <ctime> 내의 tm 구조체를 선언하고
    각 구조체의 필드에 입력된 값들을 할당한다.
  2. mktime()을 통해 구조체로 특정 날짜 값의 요일값을 계산한다.
  3. tm_wday로 리턴된 요일값으로 결과 리턴
#include <bits/stdc++.h>

class Solution {
public:
    string dayOfTheWeek(int day, int month, int year) {
        string days[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
        tm time_in = {};
        time_in.tm_year = year - 1900;
        time_in.tm_mon = month - 1;
        time_in.tm_mday = day;

        mktime(&time_in);

        return days[time_in.tm_wday];
    }
};
profile
사람을 좋아하는 Front-End 개발자

0개의 댓글