from dateutil.parser import parse
from dateutil.relativedelta import relativedelta
def solution(today, terms, privacies):
today = parse(today)
keys, values = [], []
answer = []
for i in range(len(terms)):
t = terms[i].split(' ')
keys.append(t[0])
values.append(t[1])
terms = dict(zip(keys, values))
for i in range(len(privacies)):
p = privacies[i].split(' ')
p_date = parse(p[0])
p_type = p[1]
f_date = p_date + relativedelta(months = int(terms[p_type]))
if f_date <= today:
answer.append(i+1)
return answer
parse: 문자열을 datetime 객체로 변환
dict(zip(keys, values)): 문자열 2개로 딕셔너리 생성
relativedelta: month 이상 날짜 단위 연산에 사용
timedelta: day 이하 날짜 단위 연산에 사용