관리 메뉴

솜씨좋은장씨

[BaekJoon] 1308번 : D-Day (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 1308번 : D-Day (Python)

솜씨좋은장씨 2022. 5. 4. 09:16
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 D-Day 입니다!
오늘은 닥터스트레인지 : 대혼돈의 멀티버스의 D-Day 이기도 합니다~! 🤩

1308번: D-Day

첫째 줄에 오늘의 날짜가 주어지고, 두 번째 줄에 D-Day인 날의 날짜가 주어진다. 날짜는 연도, 월, 일순으로 주어지며, 공백으로 구분한다. 입력 범위는 1년 1월 1일부터 9999년 12월 31일 까지 이다.

www.acmicpc.net

👨🏻‍💻 코드 ( Solution )

from datetime import datetime

def get_1000_year_day(start_year):
    year_day_1000 = 0
    
    for year in range(start_year, start_year + 1000):
        if year % 400 == 0:
            year_day_1000 += 366
        elif year % 100 == 0:
            year_day_1000 += 365
        elif year % 4 == 0:
            year_day_1000 += 366
        else:
            year_day_1000 += 365
            
    return year_day_1000
            


def d_day(today, dday):
    today_date = datetime(year=today[0], month=today[1], day=today[2])
    dday_date = datetime(year=dday[0], month=dday[1], day=dday[2])
    
    dday_day = (dday_date - today_date).days
    
    year_day_1000 = get_1000_year_day(start_year=today[0])
    
    if dday_day >= year_day_1000:
        dday_day = "gg"
    else:
        dday_day = f"D-{dday_day}"
    
    return dday_day


if __name__ == "__main__":
    today = list(map(int, input().split()))
    dday = list(map(int, input().split()))
    print(d_day(today, dday))

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments