jyamethyst21 님의 블로그

백준 10768번- '특별한 날' (PYTHON 풀이) 본문

CODING 💻

백준 10768번- '특별한 날' (PYTHON 풀이)

jyamethyst21 2026. 1. 14. 09:27

문제:

 

사용자로부터 월, 일을 입력받고 2월 18일을 기준으로 더 이전 날짜인지, 같은 날짜인지, 이후 날짜인지 비교해서 해당하는 값을 출력하면 되는 문제이다.

 

풀이:

from datetime import date

day = date(2026, 2, 18)
m = int(input())
d = int(input())
date2 = date(2026, m,d)

if day > date2:
    print('Before')
elif day < date2:
    print('After')
else:
    print('Special')

필자는 datetime 라이브러리를 import해서 진행하였다. 년, 월, 일을 쉽게 비교해주는 라이브러리이고, day 변수에 비교 기준인 2, 18을 넣어주고 date2에 사용자로부터 입력받은 월, 일을 입력한다. 어차피 월과 일만 비교하는 것이기 때문에 년도는 현재 년도를 기준으로 작성하였다.(다른 년도여도 무관)

이후 if문을 활용해서 기준 날짜가 더 크면 Before, 작으면 After, 같으면 Special을 출력하도록 코드를 작성하였다.

m = int(input())
d = int(input())

if [m,d] > [2,18]:
    print('After')
elif [m,d] < [2,18]:
    print('Before')
else:
    print('Special')

추가로, 첫번째 코드도 당연히 통과되지만, 라이브러리에 생소한 분들을 위해 두번째 코드도 따로 작성해보았다.

필자는 이제 날짜만 나오면 datetime을 사용하는 습관이 생겨서 보자마자 라이브러리를 사용했지만, 오로지 이번 문제는 날짜만 비교하면 되는 간단한 문제이기 때문에 리스트에 날짜를 넣고 이를 직접 비교하는 방법으로도 아주 간단하게 풀 수 있다.

당연히 두번째 방법이 첫번째보다 메모리도 적게 먹고 더 빨리 풀 수 있으니 참고하길 바란다.