Algorithm/1일 1코테

[💕 프로그래머스 Python] 2016년

대인보우 2020. 10. 19. 13:10
반응형

프로그래머스 연습문제 1단계

- python 3


<<문제>>

programmers.co.kr/learn/courses/30/lessons/12901

 

코딩테스트 연습 - 2016년

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

programmers.co.kr


<<나의 풀이>>

# datetime 모듈 사용
import datetime 

def solution(a, b):
    t = ['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN'] #weekday를 사용하면 숫자로 출력되기 때문에 요일 리스트를 미리 정의해줌
    return t[datetime.date(2016, a, b).weekday()] #weekday로 출력되는 숫자를 t의 인덱스로 삼아 출력

<<다른사람 풀이>>

def getDayName(a,b): # a=월, b=일
    months = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] # 월별 일수
    days = ['FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED', 'THU'] #요일
    return days[(sum(months[:a-1])+b)%7] #월을 입력받으면 해당 월을 제외한 전까지 sum, 그리고 일수를 더해줌(b). 여기에 7을 나눈 나머지 수에 해당하는 요일 반환

 

반응형