2016년 - Python

2023. 11. 21. 17:11공부/📝 프로그래머스

1. 풀이 코드

def solution(a, b):
    answer = ''
    month = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    week = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"]
    days = b + 4
    for i in range(a):
        days += month[i]
    answer = week[days % 7]
    return answer

  2016년에 한정된 풀이입니다. 문제만 딱 풀려고 만든 코드라서 이쁘게 보이지 않네요.

 

2. 다른 사람 풀이 코드

# 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
# 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
def getDayName(a,b):
    month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    day = ['FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED', 'THU']
    return day[(sum(month[:a-1])+b-1)%7]

#아래 코드는 테스트를 위한 출력 코드입니다.
print(getDayName(5,24))

  제 풀이보다 깔끔한 풀이입니다.

 


# 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다.
# 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다.
import datetime

def getDayName(a,b):
    t = 'MON TUE WED THU FRI SAT SUN'.split()
    return t[datetime.datetime(2016, a, b).weekday()]


#아래 코드는 테스트를 위한 출력 코드입니다.
print(getDayName(5,24))

  사실 datetime 라이브러리를 쓰면 이렇게 나오지요.


 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

'공부 > 📝 프로그래머스' 카테고리의 다른 글

과일 장수 - Python  (0) 2023.12.07
폰켓몬 - Python  (0) 2023.12.06
카드 뭉치 - Python  (0) 2023.11.17
명예의 전당(1) - Python  (0) 2023.11.17
추억 점수 - Python  (0) 2023.11.17