🔅코딩테스트 공부🔅/❗프로그래머스(Lv.1)
[프로그래머스] Level1 2016(with python)
윤무무
2023. 1. 29. 03:37
https://school.programmers.co.kr/learn/courses/30/lessons/12901
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 내가 작성한 코드
cal = {1:'FRI',2:'SAT',3:'SUN', 4:'MON',5:'TUE',6:'WED',0:'THU'}
def solution(a, b):
day = 0
while (a-1) != 0:
if (a-1)in[1,3,5,7,8,10,12]:
day+= 31
elif (a-1) in[4,6,9,11]:
day+= 30
else:
day+=29
a -= 1
day += b
return cal[day%7]
딕셔너리와 in 함수를 통해서 풀었다.
요일은 1월 1일부터 현재날짜까지 총 더한 날의 수를 7로 나눴을 때 나머지를 이용해서 구하면 된다.
2. 추가 코드
def getDayName(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-1)%7]
이건 다른 분의 코드인데 ㄹㅇ깔끔.. 당신도 갓...