첫번째 코드
사실 코드를 작성하면서 틀린 부분이 없었다...단지 주의할 점은 문제를 열심히 읽자는 것..
2016년 1월 1일은 월요일이 아니라 금요일이다!!!!
먼저 문제를 보고 든 생각은 나눗셈을 이용한 문제라고 생각했다
모든 날 수를 더해서 7로 나누어 나머지 값에 따라 요일을 정하는 방법이다
ex)
1%7 = 1이므로 나머지가 1인 경우는 금요일
2%7 = 2이므로 나머지가 2인 경우는 토요일
이런식으로 월화수목금토일을 만드는 것이다!!
def before_month_to_day(x):
if x <= 2:
days = 31*(x//2)
return days
elif x > 8:
if x % 2 == 0:
days = 31*(x//2) + 30*(x//2 - 1)
else:
days = 31*(x//2 + 1) + 30*(x//2 - 1)
return days - 1
else:
if x % 2 == 0:
days = 31*(x//2) + 30*(x//2 - 1)
else:
days = 31*(x//2) + 30*(x//2)
return days - 1
def weekday(x):
if x % 7 == 0:
return 'THU'
elif x % 7 == 1:
return 'FRI'
elif x % 7 == 2:
return 'SAT'
elif x % 7 == 3:
return 'SUN'
elif x % 7 == 4:
return 'MON'
elif x % 7 == 5:
return 'TUE'
else:
return 'WED'
def solution(a, b):
total_day = before_month_to_day(a) + b
answer = weekday(total_day)
return answer
통과!
생각보다 코드가 길어졌다...
더 간단히 풀 수 있는 방법도 있지 않을까...생각은 하지만 좋은 아이디어는 떠오르지 않는댜...ㅎㅎ;
링크
programmers/프로그래머스/1/12901. 2016년 at main · ornni/programmers
repository for recording Programmers Algorithm problem solving - ornni/programmers
github.com
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
자릿수 더하기 (1) | 2024.04.15 |
---|---|
이진 변환 반복하기 (0) | 2024.04.14 |
가운데 글자 가져오기 (2) | 2024.04.12 |
K번째 수 (0) | 2024.04.11 |
덧칠하기 (0) | 2024.04.10 |