2016년

Zero·2022년 4월 12일
0

Algorithm (Python)

목록 보기
8/8
post-thumbnail

문제 설명

2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT
입니다.
예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요.

제한 조건

2016년은 윤년입니다.
2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다)

입출력 예

abresult
524"TUE"


<나의 코드>

오답주의

import datetime

def solution(a, b):
    today = date(2016, a, b)
    week_day = today.weekday()
    if week_day == 0:
      return "MON"
    elif week_day == 1:
      return "TUE"
    elif week_day == 2:
      return "WED"
    elif week_day == 3:
      return "THU"
    elif week_day == 4:
      return "FRI"
    elif week_day == 5:
      return "SAT"
    elif week_day == 6:
      return "SUN"  
채점 결과
정확성: 0.0
합계: 0.0 / 100.0
  1. datetime을 불러온다
  2. weekday 함수를 이용해 0~6이 나왔을 때의 요일을 각각 정해준다.

어떻게든 나의 지식 안에서 해결하려고 위처럼 코드를 작성하였다.
Google Colab에선 작동이 잘 되던데...
코딩테스트는 런타임에러로 오답이라고 한다.



< 다른 사람의 코드 >

from datetime import date

def solution(a, b):
    dayOfTheWeek = ['MON','TUE','WED','THU','FRI','SAT','SUN']
    return dayOfTheWeek[date(2016, a, b).weekday()]

datetime을 import 한다면 위의 식이 알맞은 것이었다.

profile
코딩 일기

0개의 댓글