[プログラマーLv 1]2016年


2016年


質問リンク

私の答え

def solution(a, b):
    answer = ''
    date = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    day = ['FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED', 'THU']
    answer = (sum(date[0:a]) + (b-1))%7
    return day[answer]
  • 解題原理は、2016年1月から入力日までの合計日数を7日間の残り時間で割って解くことです.
    1月1日が金曜日なので「FRI」からの日付リストを作成し、毎月の日数を含む日付リストを発表しました.sum関数とsleingにより答えを求めた.
  • 他人の解答

    def getDayName(a,b):
        day_name = ['THU', 'FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED']
        month_dict = {
            "1":31, 
            "2":29, 
            "3":31, 
            "4":30, 
            "5":31, 
            "6":30, 
            "7":31, 
            "8":31, 
            "9":30, 
            "10":31, 
            "11":30, 
            "12":31
        }
        days = 0
        for i in range(1, a):
            days += month_dict[str(i)]
        days += b
        index = days % 7
    
        return day_name[index]
    #아래 코드는 테스트를 위한 출력 코드입니다.
    print(getDayName(5,24))
  • 解答原理は同じですが、ディックシェリー値のコードが使用されています.