코딩테스트

코딩테스트 연습_2016년

끈끈 2023. 6. 2. 21:13

Lv. 1

 

문제

 

  • 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요?
  • 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요.
  • 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT입니다.

제한사항

  • 2016년은 윤년

입출력 예


내가 작성한 코드:

def solution(a, b):
    month = {1: 31, 2: 29, 3: 31, 4: 30, 5: 31, 6: 30, 7: 31, 8: 31, 9: 30, 10: 31, 11: 30, 12: 31}
    day = ["FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"]
    date = b

    for i in range(1, a):
        date += month[i]

    return day[(date % 7) -1]

 

1월 1일은 금요일..!

 

다른 사람의 코드:

solution = lambda a, b: ["THU", "FRI", "SAT", "SUN", "MON", "TUE", "WED"][(sum([0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][:a]) + b) % 7]