728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/12901#
문제 설명
2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT
입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요.
코드
해시 테이블 생성 코드
def solution(a, b):
month = {'1' : "FRI", "2" : "MON", "3" : "TUE", "4" : "FRI", "5" : "SUN", "6" : "WED",
"7" : "FRI", "8" : "MON", "9" : "THU", "10" : "SAT", "11" : "TUE", "12" : "THU"}
weeks = {"1" : "SUN", "2" : "MON", "3" : "TUE", "4" : "WED", "5" : "THU", "6" : "FRI", "7" : "SAT"}
week = {"SUN" : "1", "MON" : "2", "TUE" : "3", "WED" : "4", "THU" : "5", "FRI" : "6", "SAT" : "7"}
M = month[str(a)]
B = (b % 7) - 1
D = int(week[M]) + B
while D <= 0:
D += 7
if D > 7:
D = D % 7
answer = weeks[str(D)]
return answer
달의 날짜만큼 더해준 코드
def solution(a, b):
days = {0 : "FRI", 1 : "SAT", 2 : "SUN", 3 : "MON", 4 : "TUE", 5 : "WED", 6 : "THU"}
if a == 1:
b = b % 7
if a == 2:
b = (b+31)%7
if a == 3:
b = (b + 31 + 29) % 7
if a == 4:
b = (b + 31 + 29 + 31) % 7
if a == 5:
b = (b + 31 + 29 + 31 + 30) % 7
if a == 6:
b = (b + 31 + 29 + 31 + 30 + 31) % 7
if a == 7:
b = (b + 31 + 29 + 31 + 30 + 31 + 30) % 7
if a == 8:
b = (b + 31 + 29 + 31 + 30 + 31 + 30 + 31) % 7
if a == 9:
b = (b + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31) % 7
if a == 10:
b = (b + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30) % 7
if a == 11:
b = (b + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31) % 7
if a == 12:
b = (b + 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30) % 7
b -= 1
if b < 0:
b += 7
answer = days[b]
return answer
풀이 3
def solution(a, b):
answer = ''
month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
days = sum(month[:a-1]) + b
week = days % 7
date = ['THU', 'FRI', 'SAT', 'SUN', 'MON','TUE','WED']
answer = date[week]
return answer
728x90
반응형
'코딩테스트 준비 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] - 나누어 떨어지는 숫자 배열 (파이썬, Python) (0) | 2023.10.05 |
---|---|
[프로그래머스] - 가운데 글자 가져오기 (0) | 2023.10.05 |
[프로그래머스] - 광물 캐기 (파이썬, Python) (0) | 2023.10.04 |
[프로그래머스] 연속된 부분 수열의 합 (파이썬, Python) (0) | 2023.10.04 |
[프로그래머스 (스택/큐)] - 기능개발 (파이썬, Python) (0) | 2023.10.03 |