알고리즘/SWEA

[Python] SWEA D2 1948번 - 날짜 계산기

번잔중 2022. 6. 2. 17:58
 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

문제에서 두 번째로 오는 날짜가 무조건 첫 번째 날짜보다 크다고 했기 때문에 조건을 같은 달인 경우와 아닌 경우로 나누었습니다.

- 같은 달인 경우는 날짜만 구해주면 답이 됩니다.

- 다른 달의 경우는 첫 번째 날짜와 두 번째 날짜 사이의 일수를 모두 합친 것에 (첫 번째 날짜 - 그 달의 일수 + 두 번째 날짜)를 더해주면 됩니다.

T = int(input())
days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
for t in range(1, T + 1):
    m1, d1, m2, d2 = map(int, input().split())
    ans = 0
    if m2 - m1 == 0:
        ans += d2 - d1 + 1
    else:
        for i in range(m1, m2 - 1):
            ans += days[i]
        ans += d2 + (days[m1 - 1] - d1 + 1)

    print('#%d %d' % (t, ans))

피드백은 언제나 환영합니다.