문제) 2016년
코딩테스트 연습 - 2016년
2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까
programmers.co.kr
- 내 풀이
def solution(a, b):
day=[ 'FRI','SAT', 'SUN', 'MON', 'TUE', 'WED', 'THU']
list_a=[1,3,5,7,8,10,12] #31일을 가진 달
days=0 #1월 1일과의 일수 차
while a>=2:
days+=b
a-=1
if a==2:
b=29 #윤년: 2/29일을 둔 해
else:
if a in list_a:
b=31
else:
b=30
days+=b-1 #1월이면 1일과의 차이 계산을 위해 b-1만큼 더함
days%=7
return day[days]
print(solution(5,24))
print(solution(1,8))
#결과
"TUE"
"FRI"
- 다른 사람 풀이
def solution(a,b):
answer= ["THU", "FRI","SAT", "SUN", "MON","TUE", "WED"][(sum([0,31,29,31,30,31,30,31,31,30,31,30,31][:a])+b)%7]
return answer'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스] [Level 1] 부족한 금액 계산하기 (0) | 2022.03.09 |
|---|---|
| [프로그래머스] [Level 1] [2018 KAKAO BLIND RECRUITMENT] [1차] 비밀지도 (0) | 2022.03.08 |
| [프로그래머스] [Level 1] 가운데 글자 가져오기 (0) | 2022.03.06 |
| [프로그래머스] [Level 1] [2018 KAKAO BLIND RECRUITMENT] [1차] 다트게임 (0) | 2022.03.06 |
| [프로그래머스] [Level 1] 같은 숫자는 싫어 (0) | 2022.03.05 |