본문 바로가기
코딩 공부/프로그래머스

코딩연습 프로그래머스_2016년

by 밍망몽멍뭉 2021. 1. 14.

내가 푼것중에 가장 빨리 끝난 2016년도 구하기 연습 ㅋㅋㅋ

 

프로그래머스 2016년 파이썬

 

이거는 datetime 함수 쓰면 된다!! 국비교육 들으면서 주구장창 썼기에 바로 떠올렸다..

 

그리고 datetime의 weekday()함수가 무슨 요일인지를 알려주는 함수이다. 

예를들어 today.weekday() 하면 5 라는 값이 나온다

5는 월화수목금토일에서 금요일을 의미하므로 요일 배열만 만들어줘서 인덱싱 해주면 끝!

 

그래서 내함수는 

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

 

datetime.datetime은 날짜를 표현하기 위해서 년월일 (시간)까지 표시한다 

따라서 2016년 a월 b일이라는 것을 표현했고 이것이 어떤요일인지 weekday()한다음에 그러면 아까 말했듯 숫자가 리턴됨

day[5] 이면 day라는 배열에서 5가 리턴

 

* 참고로 weekday는 월요일이 [0]이고 isoweekday는 월요일이 [1] 이다

그래서 isoweekday를 사용하려면 day 배열을

['MON','TUE','WED','THU','FRI','SAT','SUN']가아닌

['SUN','MON','TUE','WED','THU','FRI','SAT'] 으로 해야한다. 

 

그래서 그 코드는

import datetime
def solution(a, b):
    day = ['SUN','MON','TUE','WED','THU','FRI','SAT']
    return day[datetime.datetime(2016,a,b).isoweekday()]

 

결과는

성공쓰~ 휴 오늘은 두개 했다