[Py_Lv1] 2016년

Sunghun📈·2021년 4월 13일
0

프로그래머스

목록 보기
33/93
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일같은 날짜는
    주어지지 않습니다)

입출력 예

접근법

문제를 보고 어렵다는 생각이 들었지만 차근차근 코드로 구현해보니
어렵지는 않았다.

다만, 코드가 지저분하다는 느낌이 들었다.

다른 사람의 풀이에는 FOR문을 이용하지 않고 깔끔하게 해결하였다.

복습할때 이부분을 상기시켜 깔끔한 코드를 작성해봐야 겠다.

dict()get()함수를 검색해본 것 말고는 모두 스스로 구현하여
나름 만족하며 잘 수 있을것 같다. 🥰

=============================================================

def solution(a, b):
    week = ['FRI','SAT','SUN', 'MON', 'TUE','WED','THU']
    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 = 0
    
    for i in range(1,a):
        day += month.get(i)
    
    day += b
    answer = week[day%7-1]
    return answer
profile
데이터 분석과 AI 분야의 전문가를 꿈꾸는 청년

0개의 댓글