본문 바로가기
프로그램

[파이썬] 문제 : 요일의 7의 배수에 해당하는 요일 및 7을 나눈 날짜의 요일 찾기

by 오디세이99 2022. 12. 5.
728x90
반응형

(문제)

어떤 요일이 화요일이라고 했을 때, 해당요일 + 7의 배수 (7,14)에 해당하는 날짜는 반드시 화요일이다.

또 해당요일 7을 나눴을 때 나머지가 2의 몫에 해당하는 날짜는 반드시 목요일이다. 

이 문제를 파이썬으로 풀었을 때 식이 어떻게 되는지 알려주세요. 
 
 
(방법)
import datetime

# 딕셔너리 사용
week_day = {0:'월요일', 1:'화요일', 2:'수요일', 3:'목요일', 4:'금용일', 6:'토요일', 7:'일요일'}

str_date = '2022-11-01'        # 화요일
# day = datetime.datetime(2022,12,5)
day = datetime.datetime.strptime(str_date, '%Y-%m-%d')    # 문자열로 날짜 지정
print(f"{str_date} = {week_day[day.weekday()]}")          # 요일 찾기

dayplus = day + datetime.timedelta(days=7)                # 7일 더하기(7의 배수)
print(f"{dayplus.strftime('%Y-%m-%d') } = {week_day[dayplus.weekday()]}")    # 요일 출력

dayplus = day + datetime.timedelta(days=14)               # 14일 더하기. 7의 배수
print(f"{dayplus.strftime('%Y-%m-%d') } = {week_day[dayplus.weekday()]}")   # 요일 출력

for i in range(1, 8):                             # 1~7까지 7을 나누어 몫이 2인 경우 찾기
    d = 7//i                                      # 7을 i(1~7)로 나누기
    if d == 2:                                    # 몫이 2라면
        dayplus = day + datetime.timedelta(days=d)        # 2일 더하기 
        print(f"[{i}/{d}] {dayplus.strftime('%Y-%m-%d') } = {week_day[dayplus.weekday()]}")   # 요일 출력

728x90
반응형

댓글