코딩공부/프로그래머스

[파이썬][프로그래머스]2016년

꼴1통 2020. 7. 29. 14:09

https://programmers.co.kr/learn/courses/30/lessons/12901?language=python3

 

코딩테스트 연습 - 2016년

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

programmers.co.kr

 

 

2016년 1월 1일이 금요일이라는 가정 하에(실제로 그런듯하다)

a(월), b(일) 을 입력받아 그 날의 요일을 반환하는 함수를 만드는 문제이다.

 

def solution(a, b):
    answer = ''
    month_day=[31,29,31,30,31,30,31,31,30,31,30,31]
    day = 0
    for i in range(a-1):
        day+=month_day[i]
    day+=b
    if day%7 == 1:
        answer="FRI"
    elif day%7 == 2:
        answer="SAT"
    elif day%7 == 3:
        answer="SUN"
    elif day%7 == 4:
        answer="MON"
    elif day%7 == 5:
        answer="TUE"
    elif day%7 == 6:
        answer="WED"
    else:
        answer="THU"
    return answer

month_day에 각 월의 일수 배열을 저장한다.

그다음, a월b일이 2016년의 몇번째 날인지 day에 저장한다!

만약 day를 7(일주일단위) 로 나누었을때 1이 나온다면 금요일일것이다

(1월1일, 즉 2016년의 1번째 날이 금요일이므로)

그 다음은 elif 문으로 순차적으로 조건을 달아주면 완성!

 

췌키랍!